Linux中添加service启动
2018-12-05 本文已影响0人
明月___
主要是以CentOS为例。
在Ubuntu中是没有chkconfig命令的,可以用update-rc.d 来代替。
Nginx 添加启动服务
- 进入/etc/init.d/目录 cd /etc/init.d
- 新建nginx文件,并编辑。vi nginx
- 粘贴以下内容:
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx #nginx实际安装的路径
nginx_config=/usr/local/nginx/conf/nginx.conf #nginx配置文件——nginx.conf的路径
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
} echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
- 执行
chkconfig --add /etc/init.d/nginx
chmod 755 /etc/init.d/nginx
chkconfig --add nginx
-
如果想随系统启动就执行
/sbin/chkconfig --level 345 nginx on
-
nginx启动、停止、无间断服务重启,可选 start | stop | restart | reload | status | help
service nginx start
service nginx stop
service nginx reload
Tomcat添加service启动
- 进入/etc/init.d/目录 cd /etc/init.d
- 新建nginx文件,并编辑。vi tomcat
- 粘贴以下内容:
#!/bin/bash
# description: Tomcat8 Start Stop Restart
# processname: tomcat8
# chkconfig: 234 20 80
#jdk menu
JAVA_HOME=/usr/local/java/jdk1.8.0_191
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
#tomcat menu
CATALINA_HOME=/usr/local/tomcat/
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
else
sh $CATALINA_HOME/bin/startup.sh
fi
;;
status)
#
# Restart Tomcat
#
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n "tomcat ( pid "
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}'
echo ") is running "
else
echo "tomcat is stopped"
fi
;;
esac
exit 0
-
将上面这个文件设置成可执行文件
chmod a+x tomcat
-
系统服务(开机自启)
- 添加系统服务
chkconfig --add tomcat
- 关闭
chkconfig tomcat off
- 查看是否添加Tomcat系统服务
chkconfig --list tomcat
- 查看所有的service服务
chkconfig --list
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
- 测试
service tomcat start(stop/restart/status)