记第一次部署 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

posted @   hzyuan  阅读(441)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示