Spring boot部署CentOS7

不打扰是莪最后的温柔 提交于 2019-12-05 11:31:59

目标

把Spring boot的jar部署到CentOS7上面,并且随CentOS7随机启动。

Spring boot Jar

bootJar {
    launchScript()
}

然后,直接使用如下命令,进行构建:

# 清理已经构建可执行jar
./gradlew clean
# 重新构建可执行jar
./gradlew build
# 验证spring boot jar是否有效
 ./build/libs/xxx-1.0-SNAPSHOT.jar

创建用户

sudo useradd --system --home /var/myapp --shell /sbin/nologin --comment "myapp user" --user-group myapp

授权文件夹

chown -R nginx /var/myapp
chgrp -R nginx /var/myapp

systemd

myapp.service

/etc/systemd/system/myapp.service

[Unit]
Description=myapp
After=syslog.target

[Service]
User=myapp
Group=myapp
ExecStart=/var/myapp/myapp.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

上面就是systemd的配置文件。其中ExecStart表示执行的spring boot的jar的路径。systemctl的日志需要使用journalctl来查看,简单使用如下:

journalctl -u myapp.service -f

运行

上传Spring boot的jar到/var/myapp/目录,使用如下命令:

# 修改jar文件执行权限
chmod 755 /var/myapp/myapp.jar
# 设置myapp服务为随机启动
systemctl enable myapp.service
# 启动服务
systemctl start myapp.service
# 查看服务
systemctl status myapp.service

firewall

# 把myapp服务暴露在外面,主要就是开放myapp使用的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重启firewall
firewall-cmd --reload

验证

可以直接通过外部chrome浏览器访问该服务是否有效。

参考

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!