记第一次部署 spring boot 项目到云服务器全过程

Posted hzyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记第一次部署 spring boot 项目到云服务器全过程相关的知识,希望对你有一定的参考价值。

云服务器设置

我这里用的是阿里云的云服务器ECS,购买了服务器后需要记住以下内容:

  • 公网 IP:可以从短信获取,买完后后给你发短信,里面有公网 IP。也可以从 阿里云的云服务器管理控制台的实例列表里获取。

技术图片

  • 系统用户名:root
  • 实例密码:未设置密码或者忘记密码都可以在实例列表里点击更多—>重置实例密码

技术图片

开放端口

实例列表—>安全组配置—>配置规则

技术图片

添加安全规则

技术图片

在入方向手动添加,协议类型一般是TCP,端口看你的需求,例如用到了MySQL就选择3306端口,我的项目的端口配置是8181,所有也添加了8181端口, 授权对象是谁可以使用这个端口,所有人均可以是0.0.0.0/0

技术图片

远程连接云服务器

远程连接工具有挺多的,实例列表里自带的远程连接,windows PowerShell,Xshell等

下面是Xshell的操作过程:

  1. 打开Xshell会出现以下界面

技术图片

  1. 新建会话并按以下顺序操作,主机填公网IP,端口号22,然后进入用户身份验证

技术图片

  1. 填入用户名和你的实例密码,点击连接即可

技术图片

  1. 出现以下信息即连接成功

技术图片

至此已远程连接到服务器

环境部署

宝塔面板安装

这里采用安装宝塔面板部署环境,我个人觉得这种方式挺简单的

:使用宝塔面板需要放8888端口

首先输入以下命令

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

技术图片

记住外面版地址,用户名,密码,然后浏览器输入外面板地址进入宝塔面板

软件安装

技术图片

根据你自己的需要安装,其实我的 spring boot项目是打包成jar包的,内嵌了tomcat,这里下载 tomcat 的原因是因为宝塔在下载tomcat 时会把 jdk1.8也装了,就不需要我再配置了

装完后进行环境检查

技术图片

根据需要放行端口

技术图片

数据库root密码改密

技术图片

ok! 一切就绪

连接mysql数据库

技术图片

:文末记录着我遇到的连接问题及解决方法

转储 sql 文件

  • 先在远程数据库上新建一个相同名字的数据库,例如我本地的数据库叫qm,就在远程的新建一个qm数据库
  • 我想把数据也复制过去,这里选择的是“结构和数据”

技术图片

  • 然后在远程数据库上运行你转储的sql文件即可

技术图片

spring boot 项目打包部署

打包

这里我是用 idea 打包成jar

技术图片

打包完后到项目的 target 目录下会产生两个文件

技术图片

部署

在宝塔面板上传文件

技术图片

进入目录,运行项目

技术图片

至此大功告成!

但会出现一个问题,随着 ssh 断开,服务也会关闭。我们可以用守护进程的方式来让服务运行在后台。

nohup java -jar qm-0.0.1-SNAPSHOT.jar &

技术图片

这个项目就会在后台运行,同时在当前项目生成一个 nohup.out 日志。

nohup java -jar xxx.jar  >> myout.log 2>&1  &    //指定日志

关闭进程

ps aux|grep qm.0.0.1-SNAPSHOT.jar //找到pid
kill -9 pid  //根据pid关闭

技术图片

:所遇问题解决在文末

  • 2003错误:没有在宝塔页面和云服务器安全组开放3306端口
  • 1130错误:user表中没有权限
    • 连接:mysql -u root -p
    • 进入mysql数据库: use mysql;
    • 查看user表中的数据:select Host,User from user;
    • 修改user表中的Host:update user set Host=‘%‘ where User=‘root‘;
    • 刷新:flush privileges;

图示说明:

技术图片

可以看到 root 对应的是 %,这是因为我已经修改了,原先对应的是 localhost。也可以添加新的User和Host。

spring boot 项目运行失败解决

我的是因为 jdk 版本不对,spring boot 项目是jdk14,环境是 jdk1.8

pom.xml 中把 java 版本改成1.8就好

<properties>
    <java.version>1.8</java.version>
</properties>

参考博客链接

https://www.jianshu.com/p/2957b5abba6a

https://blog.csdn.net/sql521hawk/article/details/81562190

https://blog.csdn.net/qq_41463655/article/details/89683139

以上是关于记第一次部署 spring boot 项目到云服务器全过程的主要内容,如果未能解决你的问题,请参考以下文章

记spring boot线上项目内存优化

docker部署spring boot项目在服务器上

jenkins集成spring boot持续化构建代码

spring boot 项目打成war包部署到服务器

IDEA实现Spring Boot热部署

spring boot怎么部署到服务器