Linux部署SpringBoot工程-瑞吉外卖项目
云平台:阿里云
终端软件:Tabby Terminal
部署项目项目: SpringBoot-瑞吉外卖
自己第一次从本地web项目搭建到云端部署发布,记录一下嘿嘿。如果不足或不对之处请小伙伴们指正哈。
1、搭建云服务器
其实自己也可以在本地的虚拟机中部署一个自己的Linux服务器,通过内外穿透,但是比较繁琐,为了方便也外了节约时间,自己直接在各个云平台申请一个即可,新人优惠很多。
以后有时间,给记录一个本地 零成本 搭建部署,自己的私有服务器哈
选择云服务器的平台
腾讯云
免费服务器:(一个月)
https://cloud.tencent.com/act/cps/redirect?redirect=10041&cps_key=8f428409e6c2a0d9c072dfcde9aa2305
首购长时间服务器:
https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=8f428409e6c2a0d9c072dfcde9aa2305&from=console
新客优惠券
https://cloud.tencent.com/act/cps/redirect?redirect=1040&cps_key=8f428409e6c2a0d9c072dfcde9aa2305&from=console
阿里云
免费服务器:(一个月)
https://free.aliyun.com/?source=5176.11533457&userCode=
首购长时间服务器:(不推荐)
https://www.aliyun.com/activity/daily/specialoffer?userCode=3iy9nakz
华为云服务器
免费服务器:(两个月)
https://activity.huaweicloud.com/free_test/index.html
百度云服务器:
免费服务器:(三个月)
https://cloud.baidu.com/campaign/experience/index.html
天翼云
免费服务器:(两个月)
https://www.ctyun.cn/h5/activity/trial/personal
这里我就以百度云
作为演示
- 选择个人用户免费体验
这里我们可以直接选择免费体验即可,需要自己登录自己的百度账号,如果之前没有注册需要自己的注册一个百度云
- 由于之前我注册过所以这里无法给大家演示,具体如何选择。这部分我就直接跳过,进入我们的控制台进行查看我们刚才申请的云服务器
- 进入
控制台
后的视图管理
这里就可以看到我们的刚才申请部署的云服务器赖
2、搭建项目运行环境
项目的运行需要的环境
java虚拟机:JDK
数据库:MySql
Web服务器:Tomcatl(由于SpringBoot中内嵌了TomCatl服务器,所以如果打包为jar包,是不需要部署Tomcatl)
2、 安装JDK
Strp1: 终端工具通过ssh链接自己的Linux
市面上的终端工具很多自己选择一款即可
Step2:登录终端切换到root用户,终端输入
yum install java-1.8.0-openjdk java-1.8.0openjdk-devel
ps:这里大家可以选择自己需要的版本 我这里以为jdk1.8为例
[root@localhost ~]# yum install java-1.8.0-openjdk java-1.8.0openjdk-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.neusoft.edu.cn
* updates: mirrors.aliyun.com
Step 3:确认JDK是否已经正确安装
java -version
如果提醒一下信息表示jdk安装成功 关于jdk的默认安装目录在 /usr/lib/jvm
[root@localhost ~]# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)
3、安装MySql5.7
部署mysql这里个人推荐安装一个 宝塔面板 通过登录自己的宝塔面板进行图像化的安装
2.1、安装宝塔面板
点击这里进入 宝塔官网
选择这里的**立即免费安装点击安装脚本**
选择一个与自己系统镜像匹配的版本即可(我这里服务器是Cetos我就以为Cetos作为演示)
- 输入确认
yes
或者y
进行下一步的安装
- 安装完成这里有我们的登录 宝塔面板 的账户号(username)以及 密码(password)
- 例如: http://110.42.192.92:21346/ffb91192 输入外网面板地址登录
- 这里选择**软件商店点击搜索数据库**即可,这里安装一个与自己web工程本地端数据库版本一致的即可
直接点击Mysql5.6.30 可以对数据库进行配置的修改
- 由于Linnux安装的MySql初始会自动生成一个随机的密码,这里我们需要重置一下密码,输入密码后确认提交即可
由于由于云服务器防火墙的存在,我们是无法通过本地访问到云服务器的3306端口的,所以我们需要在百度云中添加一组安全策略,将需要使用的3306、8080、80等端口对外开放。
- 回到我们百度云服务器的 控制台 进入我们的服务器的管理面板,选择安全组
- 点击这里的默认安全组,在入站中添加规则选择 全部协议(当然这种配置是不安全的,但是为了测试就先这样哈),对于出站也是同样的进行安全配置
- 现在在我们的本地尝试连接我们的数据库进行测试,输入云服务器的公网ip地址以及数据库用户名与密码,点击进行测试
可以看到已经连接成功,到此为止服务器端有关于数据库的配置已经全部完成
4、部署本地项目
这里我以SpringBoot的项目作为演示,其他非jar包的项目需要导入到服务器端的Tomcal中,进行部署比较繁琐,我这里就演示了。小伙伴可以更具自己百度探索哈。
Strp1: Meaven的配置必要依赖
<!--以Maven的方式为应用提供Spring Boot的支持-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<!--生成jar包-->
<packaging>jar</packaging>
Strp2: 本地生成jar包
- 点击
clean
清除本地target
,点击package
重新打包,在target目录下生成jar
包
Strp3: 项目上传到服务器中
打开Xftp或者用终端软件中使用 scp ,使用命令也可以,将jar包上传到服务器端
等待项目传输完成即可。。。。
5、服务器运行项目
在服务器中查看项目是否上传完成
输入命令将项目发布到服务器,在后台运行
# nohup java -jar [jar包名]
# $ 在后台运行
nohup java -jar reggies-0.0.1-SNAPSHOT.jar &
可以看到项目已经成功的发布,在后台运行,输出的日志为 nohup.out
- 可以直接查看日志,与我们在本地idea中的输入日志的形式是一样的
cat nohup.out
- 输入指定的ip可以看到自己部署在服务器端的项目
一点提醒哈:
由于项目的发布需要在云端建立自己的数据库模块,这一部分我没有向大家进行演示,大家可以自己进行添加哈,因为自己的本地已经连接到云端的服务器中的数据库了,所以只需要在本地执行sql脚本将数据库添加到云服务器中的数据库中即可。
关于Linux每一次发布项目到需要保证自己发布的Web服务器端口的不被占用,所以这里可以直接杀死,上一次运行,所占用的端口,具体命令如下
#查看指定端口当前状态
netstat -ntulp | grep 3306
#结束指定进程 PIND进程号
kill -9 PID