如何在Linux上實現:Eureka服務的開機自啟動?
【問題描述】
由於最近在使用Spring Eureka的註冊中心服務,而辦公室每天晚上要斷電,每天早上過來後需要手工啟動Eureka服務非常麻煩。
需要實現:開機自動該服務的功能。
【思路分析】
可以使用Linux系統的service命令來實現服務的啟動 + 用chkconfig命令實現自動啟動該服務;
具體思路:
1)編寫一個啟動Eureka服務的shell腳本,把它放在 /etc/init.d 這個目錄下;
2)然後,用service + 腳本名字 + start 運行即可;
3)最後,使用chkconfig命令,把該服務添加到開機自啟動的服務列表中去。
【解決方案】
1. 在 /etc/init.d 目錄下創建一個shell腳本文件(名字叫eureka);
1)進入目錄下,執行 touch eureka 命令創建文件;
2)然後,使用vi命令打開該文件,添加如下的內容:
該腳本的內容如下:
# 程序必須以下面的行開始(必須放在文件的第一行):
#!/bin/bash
# 符號 #! 用來告訴Linux系統,它後面的參數是用來執行該文件的程序。該例中我們使用/bin/sh來執行程序。
# chkconfig:2345 10 90
# description: eureka service ...
start(){
echo "-----------準備啟動Eureka服務----------"
# 進入到eureka的安裝目錄:
cd /opt/eureka/
# 設置一下 linux系統的JAVA環境變量:
export JAVA_HOME=/usr/lib/jvm/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 在後臺啟動 eureka服務:
nohup java -jar com.xxxx-xxx-xxxxxx-0.0.1-SNAPSHOT.jar &
echo "-----------完成啟動Eureka服務------------"
}
case $1 in
start):
start
;;
stop):
echo "--------------------stop...-------------------"
;;
esac
exit 0
2.在 /etc/init.d目錄下執行:service eureka start 命令,驗證一下該腳本能否可以正常執行;
3. 使用 ps -ef|grep java 命令,查看一下eureka的服務是否啟動了:如果發現了自己發布的jar包進程,說明成功了。
4. 使用chkconfig 命令把服務加到開機自動啟動列表裏,只要啟動它就能自啟動,重啟後永久生效即:
chkconfig --add eureka #把服務加到開機自動啟動列表裏
chkconfig eureka on # 重啟後永久生效
如何在Linux上實現:Eureka服務的開機自啟動?