经常需要在Linux服务器上设置开机启动jar包,这样服务器重启的时候就会自动运行项目,实现半自动化,实现思路如下。
首先编写一个启动jar包的脚本,位置随意,这里以/home/java为例,文件名叫startup.sh。
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export PATH=$JAVA_HOME/bin/:$PATH
nohup java -jar /usr/local/zhsw/lark-base.jar > /usr/local/zhsw/out.log 2>1&
nohup java -jar /usr/local/zhsw/lark-eureka.jar > /usr/local/zhsw/out.log 2>1&
nohup java -jar /usr/local/zhsw/lark-report-02-12.jar > /usr/local/zhsw/out.log 2>1&
chmod 777 /home/java/out.log
cd /application/nginx/sbin
./nginx -c /application/nginx/conf/nginx.conf
cd /usr/local/redis/bin
./redis-server &
请注意,这里的export设置环境变量不可少,如果不知道本机的环境变量,可以通过more /etc/profile来查看。nohup命令可以让java在后台运行,即使关闭窗口也会继续运行。chmod改变out.log输出日志的读写权限,使得普通用户也可查看。
然后运行chmod命令,使其可运行。
chmod +x /home/java/startup.sh
接着编辑/etc/rc.local,加上一行
/home/java/startup.sh
系统启动后,在加载完所有组件后会以root身份执行rd.local的命令。
给rc.local可运行权限
chmod +x /etc/rc.local
保存后reboot重启服务器,待重启后通过命令查看是否运行了java
ps -ef|grep java
大功告成