Linux下运行的软件通常我们可以将它注册服务,这样我们就可以通过命令开启,关闭,开机保持运行等功能。
若想使用这个功能,在maven的配置文件里得加个东西,<executable>true</executable>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
然后使用mvn clean package打包
我的项目起的名字是hot-deploy,打的是hot-deploy.jar包,读者可以自定义自己的jar包名字。将jar包上传到linux服务器,然后可以参考下面的两种方法来搞
1.基于linux的init.d部署
sudo ln -s /data/hot-deploy/hot-deploy.jar /etc/init.d/hot-deploy
在hot-deploy.jar相同目录下新建hot-deploy.conf文件,配置启动参数,这样自动使用这个配置,注意配置文件名跟jar包的名一样 (这一步可略过,使用项目默认的配置)
可以用service hot-deploy start/stop/status命令玩耍啦
hot-deploy.conf文件内容参考:
JAVA_OPTS="-Xmx256M -DLOG_FILE=hot-deploy.log -Dfile.encoding=UTF-8 -Dserver.port=8081"
2.基于linux的Systemd部署
在/etc/systemd/system目录下新建hot-deploy.service文件,然后填入以下内容:
[Unit]
Description=hot-deploy
After=syslog.target
[Service]
ExecStart=/usr/bin/java -jar /data/hot-deploy/hot-deploy.jar
[Install]
WantedBy=multi-user.target
实际项目中要修改Description和ExecStart后面的内容,毕竟启动参数不一样
接下来就可以直接用啦,systemctl start/stop/status hot-deploy 启动/停止/查看状态
查看日志
journalctl -u hot-deploy
systemctl enable hot-deploy 开机启动
PS:推荐一篇大神写的好文章,SpringBoot配置以及部署,里面linux脚本写的不错
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100287.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...