centos7 配置java服务开机自启

1.创建jar包启动、停止、重启脚本(例如:mall-uc.sh)

name="服务标识"
Xmx=xxxm
Xms=xxxm
Xmn=xxxm
PermSize=xxxm
MaxPermSize=xxxm
pid="进程文件存放位置"
jarName="jar包路径"

start(){
	if [ -f "$pid" ]
	then
		echo "$jarName is running !"
		exit 0;
	else
		echo -n  "start ${jarName} ..."
		nohup <JDK安装路径>/bin/java -Xmx${Xmx} -Xms${Xms} -Xmn${Xmn}   \
			-XX:PermSize=${PermSize} \
			-XX:MaxPermSize=${MaxPermSize} \
			-XX:+UseParNewGC \
			-XX:+UseConcMarkSweepGC \
			-XX:CMSFullGCsBeforeCompaction=3 \
			-XX:CMSInitiatingOccupancyFraction=60 -jar ${jarName} >/dev/null 2>&1 &   #注意:必须有&让其后台执行,否则没有pid生
		[ $? -eq 0 ] && echo   "[ok]"
		echo $! > ${pid}   # 将jar包启动对应的pid写入文件中,为停止时提供pi
      fi
}
#停止方法
stop(){
	echo -n "stop $name ..."
 	if [ -f "$pid" ]
	then
		PID=$(cat ${pid})
	        kill -9 $PID
		[ $? -eq 0 ] && echo  "[ok]"
		rm -fr $pid
	else
		echo  "[ok]"
	fi
}

case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
  start
  ;;
*)
  printf 'Usage: server.sh { start|stop|restart}\n'
  exit 1
  ;;
esac

2.根据上述脚本文件得到服务启动、停止、重启脚本为:
启动:mall-uc.sh start
停止:mall-uc.sh stop
重启:mall-uc.sh restart

3.创建服务
切换路径到/usr/lib/systemd/system,然后创建文件mall-uc.service

[Unit]
Description=e2pai-mall-uc
After=syslog.target network.target

[Service]
ExecStart=/bin/sh 脚本路径(mall-uc脚本路径) start
ExecReload=/bin/sh 脚本路径(mall-uc脚本路径) restart
ExecStop=/bin/sh 脚本路径(mall-uc脚本路径) stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

4.测试服务
首先执行systemctl daemon-reload重载服务,然后分别执行
启动:systemctl start mall-uc.service
停止:systemctl stop mall-uc.service
重启:systemctl restart mall-uc.service

5.将服务加入开机自启队列

systemctl enable mall-uc.service

你可能感兴趣的:(运维,centos,自动化,运维开发)