记第一次部署 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
的操作过程:
- 打开
Xshell
会出现以下界面
- 新建会话并按以下顺序操作,主机填公网IP,端口号22,然后进入用户身份验证
- 填入用户名和你的实例密码,点击连接即可
- 出现以下信息即连接成功
至此已远程连接到服务器
环境部署
宝塔面板安装
这里采用安装宝塔面板部署环境,我个人觉得这种方式挺简单的
注:使用宝塔面板需要放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! 一切就绪
Navicat连接数据库
连接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关闭
注 :所遇问题解决在文末
Navicat 连接数据库问题及解决方法
- 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 项目到云服务器全过程的主要内容,如果未能解决你的问题,请参考以下文章