Linux下Java项目开机自动启动
1、在Linux上设置开机启动Java程序,例如:test.jar在Linux上启动Java程序的命令:
nohup java -jar test.jar >/dev/null 2>&1 &
这样启动可以避免输出日志到控制台。
2、可以将程序启动的指令做成一个shell脚本,简单的做法创建一个test.sh文件,内容如下:
创建一个 test.sh 可执行文件(我是放在.jar目录下):
vim /home/ruoyi/run.sh
#!/bin/bash JAVA_HOME=/usr/local/java/jdk1.8.0_161 CLASSPATH=.:%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME nohup java -jar /usr/local/java/test.jar > /dev/null 2>&1 &
- nohup可以保证程序在后台运行,你可以进行其他操作,甚至可以退出终端。
- /dev/null 2>&1 这条命令的意思是将标准输出和错误输出全部重定向到/dev/null(可以看成黑洞)中,也就是将产生的所有信息丢弃
2.1、保存退出,并赋予可执行权限
chmod +x /home/ruoyi/run.sh
3、最重要的一步就是修改Linux的开机启动配置文件(/etc/rc.d/rc.local)
vim /etc/rc.d/rc.local
# !/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /home/ruoyi/run.sh
3.1、确定有运行这个文件的权限
chmod +x /etc/rc.d/rc.local
4、如果你已经将Java程序配置为开机启动,并且希望在重启系统后自动启动Java程序,你无需做任何事情,因为Java程序已经配置为开机启动了。
如果你想手动重启Java程序,可以使用以下命令:
4.1、找到Java程序的进程ID(PID):
ps -ef | grep test.jar

4.2、杀掉Java程序的进程:
kill -9 PID(1068)
4.3、重新启动Java程序:
nohup java -jar /home/ruoyi/test.jar >/dev/null 2>&1 &
// nginx重启
./nginx -s reload
这样,你就可以手动重启Java程序了。

浙公网安备 33010602011771号