linux系統中,springboot項目導出的jar包,如果需要開機自啟動,這里是我的腳本文件,虛擬機上測試通過的
start-jar.sh
放到/etc/init.d下
#!/bin/sh # chkconfig: 2345 85 15 # description:auto_run
#jdk環境 JAVA_HOME=/www/server/jdk1.8.0_211 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH #JAR根位置 JAR_ROOT=/application/triage-call #jar的名字 name="deal-task pager rabbitmq screen triage triage-admin websocket media-admin media-netty" #log位置 LOG_PATH="./" #開始方法 start() { cd $JAR_ROOT for i in $name; do echo "nohup java -jar ${i}.jar >${LOG_PATH}log_${i}.file 2>&1 &" nohup java -jar ${i}.jar >${LOG_PATH}log_${i}.file 2>&1 & echo "echo $! > /var/run/${i}.pid" echo $! > /var/run/${i}.pid done } #結束方法 stop() { for i in $name; do kill -9 `ps -ef|grep $i|grep -v grep|grep -v stop|awk '{print $2}'` done } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Userage: $0 {start|stop|restart}" exit 1 esac
成功啟動測試過的
1,添加授權 chmod +x start-jar.sh 2,chkconfig —add start-jar.sh 3,chkconfig —start-jar.sh on
下邊是rabbitmq,tomcat,nginx,redis的自啟動
#!/bin/bash
#chkconfig:2345 80 05
echo 重置環境變量........
source /etc/profile
echo 啟動Redis.........
cd /usr/local/redis/bin/
./redis-server redis.conf
ps aux|grep redis
if [ "$?" == 0 ];then
echo redis啟動成功.....
fi
echo 啟動rabbitmq............
rabbitmq-server -detached
if [ "$?" == 0 ];then
echo rabbitmq啟動成功.......
fi
echo 啟動nginx...........
nginx
if [ "$?" == 0 ];then
echo nginx啟動成功
fi
echo 啟動防火牆............
systemctl restart iptables.service
if [ "$?"==0 ];then
echo 防火牆啟動成功...........
fi
echo 啟動tomcat....
cd /application/apache-tomcat-8.5.51/bin/
./startup.sh
ps aux|grep tomcat
if [ "$?" == 0 ];then
echo tomcat啟動成功.....
fi
ps: 注意的事項:
1,腳本文件需要放到/etc/init.d下【腳本名稱自己起: 比如:a.sh】
2,腳本文件需要授權 chomod +x 文件全名稱【a.sh】
3, 添加服務中 chkconfig --add 文件全名稱【a.sh】
4, 開啟開機自動 chkconfig 文件全名稱【a.sh】 on
5, 查看 chkconfig --list
然后就會看到 這個服務的信息,有幾個是開啟狀態有幾個是關閉狀態,這個是對的。

