Centos 6和Centos 7环境下实现程序开机自启动
创建服务启动和关停脚本
1. vim msgsend-start.sh
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
java -jar /service/msgsend.jar > /var/log/msgsend.log &
echo $! > /var/run/msgsend.pid
2. vim msgsend-stop.sh
#!/bin/sh
PID=$(cat /var/run/msgsend.pid)
kill -9 $PID
Centos 6环境下启动
# vim /etc/init.d/msgsend
#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop msgsend
#
# Simple msgsend init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
startexec=/home/riverhan/msgsend-start.sh
stopexec=/home/riverhan/msgsend-stop.sh
PIDFILE=/var/run/msgsend.pid
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting msgsend service..."
$startexec
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
$stopexec
echo "msgsend service stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
-----------------------------------------------------------------
# chkconfig --add msgsend
# chkconfig --level 35 msgsend on
Centos 7环境启动
# vim /usr/lib/systemd/system/msgsend.service
[Unit]
Description=msgsend.service
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/home/riverhan/msgsend-start.sh
ExecStop=/home/riverhan/msgsend-stop.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
-------------------------------------------------
# systemctl enable msgsend
# systemctl start msgsend
# systemctl stop msgsend
--------------------------------------------------------------------------------------------------
Tomcat开机启动服务
# vi /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat8540
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/usr/local/tomcat8090/bin/startup.sh
ExecStop=/usr/local/tomcat8090/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
--------------------------------------------------------------------------------------------------
Nginx开机启动服务
# vi /etc/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx reload
ExecStop=/usr/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
浙公网安备 33010602011771号