使用systemctl启停项目
systemctl脚本
- /usr/lib/systemd/system/light-order-service.service
[Unit]
Description=refund-service
After=syslog.target network.target
[Service]
Type=forking
Restart=on-failure
ExecStart=/opt/monitor/sbin/refund-service-startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
RestartSec=10s
[Install]
WantedBy=multi-user.target
启停脚本
- /opt/monitor/sbin/springcloud-startup.sh
#!/bin/bash
if [ $# -ne 2 ]; then
echo "error.. need args!"
echo "eg: startup.sh light-order-service 8080"
exit 1
fi
CATALINA_HOME="/data/opt/$1"
SERVICE_NAME="$1"
SERVER_PORT="$2"
JAR_NAME="/data/opt/${SERVICE_NAME}/springcloud-${SERVICE_NAME}.jar"
#export JAVA_HOME=/data/jdk/jdk1.8.0_191/
export JAVA_HOME=/opt/jdk/
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx256m -Xss256k -Duser.timezone=Asia/Shanghai -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Dspring.application.name=${SERVICE_NAME} -Dserver.port=$SERVER_PORT"
export JAVA_OPTS="$JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true -Dlight.logs.path=/data/log/java_springcloud -Dreactor.netty.pool.leasingStrategy=lifo -Drocketmq.client.logLevel=warn"
nohup java -jar ${JAVA_OPTS} -Dspring.config.additional-location=/opt/bootstrap.yml ${JAR_NAME} >/dev/null 2>&1 &
rc=$?
SPID=$!
echo $SPID > "/data/opt/${SERVICE_NAME}/springcloud-${SERVICE_NAME}.pid"
echo "`date` /data/opt/${SERVICE_NAME}/springcloud-${SERVICE_NAME}.pid has been created."
- /opt/monitor/sbin/springcloud-shutdown.sh
#!/bin/bash
if [ $# -ne 1 ]; then
echo "error.. need args!"
echo "eg: service-shutdown.sh light-order-service"
exit 1
fi
SERVICE_NAME="$1"
CATALINA_HOME="/data/opt/$1"
cd `dirname $0`
echo "$(date) enter directory: `pwd`"
PID=`cat $CATALINA_HOME/springcloud-$SERVICE_NAME".pid"`
if [ "$PID" == "" ];then
echo "$(date) There has no pid file, Server shutdown failed."
exit 1;
else
kill -2 "$PID"
rm -f $CATALINA_HOME/springcloud-$SERVICE_NAME".pid"
echo "$(date) Server has been shutdown!"
exit 0;
fi
加载systemctl
systemctl daemon-reload