Ubuntu Nginx 开机自启动

时间:2022-06-01 12:42:03

#! /bin/sh
# chkconfig: 2345 55 25
# Description: Startup script for nginx webserver on Debian. Place
in /etc/init.d and
# run 'update-rc.d -f nginx defaults', or use the appropriate
command on your
# distro. For CentOS/Redhat run: 'chkconfig --add nginx'

### BEGIN INIT INFO
#
Provides:         
nginx
#
Required-Start:   
$all
#
Required-Stop:    
$all
#
Default-Start:    
2 3 4 5
#
Default-Stop:     
0 1 6
# Short-Description: starts the nginx web server
#
Description:      
starts nginx using start-stop-daemon
### END INIT INFO

# Author:   licess
# website:  http://lnmp.org

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME=nginx
NGINX_BIN=/data/apps/nginx/sbin/$NAME

CONFIGFILE=/data/apps/nginx/conf/$NAME.conf
PIDFILE=/data/logs/nginx/$NAME.pid

case "$1" in
    start)
       
echo -n "Starting $NAME... "

if netstat -tnpl | grep -q nginx;then
           
echo "$NAME (pid `pidof $NAME`) already running."
           
exit 1
       
fi

$NGINX_BIN -c $CONFIGFILE

if [ "$?" != 0 ] ; then
           
echo " failed"
           
exit 1
       
else
           
echo " done"
       
fi
       
;;

stop)
       
echo -n "Stoping $NAME... "

if ! netstat -tnpl | grep -q nginx; then
           
echo "$NAME is not running."
           
exit 1
       
fi

$NGINX_BIN -s stop

if [ "$?" != 0 ] ; then
           
echo " failed. Use force-quit"
           
exit 1
       
else
           
echo " done"
       
fi
       
;;

status)
       
if netstat -tnpl | grep -q nginx; then
           
PID=`pidof nginx`
           
echo "$NAME (pid $PID) is running..."
       
else
           
echo "$NAME is stopped"
           
exit 0
       
fi
       
;;

force-quit)
       
echo -n "Terminating $NAME... "

if ! netstat -tnpl | grep -q nginx; then
           
echo "$NAME is not running."
           
exit 1
       
fi

kill `pidof $NAME`

if [ "$?" != 0 ] ; then
           
echo " failed"
           
exit 1
       
else
           
echo " done"
       
fi
       
;;

restart)
       
$0 stop
       
sleep 1
       
$0 start
       
;;

reload)
       
echo -n "Reload service $NAME... "

if netstat -tnpl | grep -q nginx; then
           
$NGINX_BIN -s reload
           
echo " done"
       
else
           
echo "$NAME is not running, can't reload."
           
exit 1
       
fi
       
;;

configtest)
       
echo -n "Test $NAME configure files... "

$NGINX_BIN -t
       
;;

*)
       
echo "Usage: $0
{start|stop|force-quit|restart|reload|status|configtest}"
       
exit 1
       
;;

esac

# chmod +x /etc/init.d/nginx
# sysv-rc-conf
Ubuntu Nginx 开机自启动

退出按【q】 就行了
上次忘记说了,这次补一下  这个【1\2\3\4\5\0\6\S】启动选项最后有个【 S
】的选项,他的意思表示开机后就会运行的服务。
运行级别说明:
S   表示开机后就会运行的服务
0   表示关机
1   表示单用户模式 
(类似windows的安全模式)
2   表示无网络服务的多用户模式
3   表示多用户模式
4   系统预留(暂没使用)
5   表示多用户图形模式
6   表示重启
打X 表示开启该服务。
sysv-rc-conf nginx on

service nginx -s reload | stop | restart | start