經常需要在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
大功告成