1. 程式人生 > >如何在Linux上實現:Eureka服務的開機自啟動?

如何在Linux上實現:Eureka服務的開機自啟動?

參數 src class blog nohup echo 創建文件 too hup

【問題描述】

  由於最近在使用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服務的開機自啟動?