SpringBoot Jar 在linux启动方式比较多,其中一种是经过脚本启动,编写start/stop/restart.sh shell脚本,另一种就是与Linux系统相结合实现,经过service命令来启动。java
# 检查jar环境 @ java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
@ scp cloud-txlcn.jar root@192.168.2.101:/opt/cloud/txlcn
@ ln -s /opt/cloud/txlcn/cloud-txlcn/jar /etc/init.d/cloud-txlcn # cloud-txcln服务名
# 启动应用 @ service cloud-txlcn start/stop # 配置开机服务 @ systemctl enable cloud-txlcn # 重启应用 @ systemctl restart cloud-txlcn # 重启服务器 @ reboot # 验证是否生效 @ ps aux|grep cloud-txlcn root 5914 29.1 17.9 2272304 181856 pts/1 Sl 22:41 0:32 /bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -jar /opt/cloud/tm/txlcn-tm-5.0.2.RELEASE.jar
@ service xxx start @ /etc/init.d/cloud-txlcn: /etc/init.d/cloud-txlcn: cannot execute binary file
缘由就是打成的jar包不能本身执行linux
注意:在pom.xml中没有配置<executable>true</executable>,那么生成的jar包是无法本身执行的,只能经过java -jar xxx.jar执行。 或者shell
nohup java -Xms64m -Xmx256m -Xmn128m -Xss256k -jar sentinel-dashboard-1.6.3.jar logs/start.out 2>&1 &
@ service xxx start env: /etc/init.d/cloud-txlcn: 权限不够
解决方法:chmod a+wrx /etc/init.d/cloud-txlcn服务器