如何在Linux上实现:Eureka服务的开机自启动?

时间:2018-03-31 17:28:36   收藏:0   阅读:1624

【问题描述】

  由于最近在使用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   # 重启后永久生效

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!