【问题描述】
由于最近在使用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 # 重启后永久生效