Nginx 启动脚本/重启脚本代码

时间:2021-07-17 14:21:22

第一步 
先运行命令关闭nginx 

sudo kill `cat /usr/local/nginx/logs/nginx.pid` 
第二步 

vi /etc/init.d/nginx 
输入以下内容 

复制代码代码如下:


#!/bin/sh 

# nginx - this script starts and stops the nginx daemin 

# chkconfig: - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
# proxy and IMAP/POP3 proxy server 
# processname: nginx 
# config: /usr/local/nginx/conf/nginx.conf 
# pidfile: /usr/local/nginx/logs/nginx.pid 

# Source function library. 
. /etc/rc.d/init.d/functions 

# Source networking configuration. 
. /etc/sysconfig/network 

# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0 

nginx="/usr/local/nginx/sbin/nginx" 
prog=$(basename $nginx) 

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 

lockfile=/var/lock/subsys/nginx 

start() { 
[ -x $nginx ] || exit 5 
[ -f $NGINX_CONF_FILE ] || exit 6 
echo -n $"Starting $prog: " 
daemon $nginx -c $NGINX_CONF_FILE 
retval=$? 
echo 
[ $retval -eq 0 ] && touch $lockfile 
return $retval 


stop() { 
echo -n $"Stopping $prog: " 
killproc $prog -QUIT 
retval=$? 
echo 
[ $retval -eq 0 ] && rm -f $lockfile 
return $retval 


restart() { 
configtest || return $? 
stop 
start 


reload() { 
configtest || return $? 
echo -n $"Reloading $prog: " 
killproc $nginx -HUP 
RETVAL=$? 
echo 


force_reload() { 
restart 


configtest() { 
$nginx -t -c $NGINX_CONF_FILE 


rh_status() { 
status $prog 


rh_status_q() { 
rh_status >/dev/null 2>&1 


case "$1" in 
start) 
rh_status_q && exit 0 
$1 

stop) 
rh_status_q || exit 0 
$1 

restart|configtest) 
$1 

reload) 
rh_status_q || exit 7 
$1 

force-reload) 
force_reload 

status) 
rh_status 

condrestart|try-restart) 
rh_status_q || exit 0 

*) 
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
exit 2 
esac 


保存退出 

第三步 

chmod +x /etc/init.d/nginx 
第四步 

/sbin/chkconfig nginx on 
检查一下 

sudo /sbin/chkconfig --list nginx 
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off 
完成! 

之后,就可以使用以下命令了 

复制代码代码如下:


service nginx start 
service nginx stop 
service nginx restart 
service nginx reload 

/etc/init.d/nginx start 
/etc/init.d/nginx stop 
/etc/init.d/nginx restart 
/etc/init.d/nginx reload 


下面是其它作者发布的文章

复制代码代码如下:


#vi /etc/init.d/nginx 
#! /bin/sh 
### BEGIN INIT INFO 
# Provides: Nginx-php-fpm(fastcgi) 
# Required-Start: $all 
# Required-Stop: $all 
# Default-Start: 3 5 
# Default-Stop: 0 1 6 
# Short-Description: Start and stop nginx-fcgi in external FASTCGI mode 
# Description: Start and stop nginx-fcgi in external FASTCGI mode 
# http://www.linxutone.org msn:cnseek@msn.com 
### END INIT INFO 

set -e 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
DESC="nginx daemon" 
NAME=nginx 
DAEMON=/usr/local/nginx/sbin/$NAME 
CONFIGFILE=/usr/local/nginx/conf/nginx.conf 
PIDFILE=/var/run/$NAME.pid 
SCRIPTNAME=/etc/init.d/$NAME 

# Gracefully exit if the package has been removed. 
test -x $DAEMON || exit 0 

d_start() { 
/usr/local/php-fcgi/sbin/php-fpm start > /dev/null 2>&1 
$DAEMON -c $CONFIGFILE || echo -n " already running" 


d_stop() { 
/usr/local/php-fcgi/sbin/php-fpm stop > /dev/null 2>&1 
kill -QUIT `cat $PIDFILE` || echo -n " not running" 


d_reload() { 
/usr/local/php-fcgi/sbin/php-fpm reload > /dev/null 2>&1 
kill -HUP `cat $PIDFILE` || echo -n " can't reload" 


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

stop) 
echo -n "Stopping $DESC: $NAME" 
d_stop 
echo "." 

reload) 
echo -n "Reloading $DESC configuration ..." 
d_reload 
echo "reloaded." 

restart) 
echo -n "Restarting $DESC: $NAME" 
d_stop 
sleep 1 
d_start 
echo "." 

*) 
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2 
exit 3 

esac 

exit 0 


#chmod u+x /etc/init.d/nginx 

使用方法: 

复制代码代码如下:


#/etc/init.d/nginx start 
#/etc/init.d/nginx stop 
#/etc/init.d/nginx restart 


注意修改安装路径了 

复制代码代码如下:


#!/bin/bash 

# Init file for nginx server daemon 

# chkconfig: 234 99 99 
# description: nginx server daemon 

# source function library 
. /etc/rc.d/init.d/functions 
# pull in sysconfig settings 
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
RETVAL=0 
prog="nginx" 
PAT=/usr/local/nginx 
NGINXD=/usr/local/nginx/sbin/nginx 
PID_FILE=/usr/local/nginx/nginx.pid 
start() 

echo -n $"Starting $prog: " 
$NGINXD 2>/dev/null $OPTIONS && success || failure 
RETVAL=$? 
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/nginx 
echo 

stop() 

echo -n $"Shutting down $prog: " 
killproc nginx 
RETVAL=$? 
echo 
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nginx 
return $RETVAL 

reload() 

echo -n $"Reloading nginx: " 
killproc nginx -HUP 
RETVAL=$? 
echo 
return $RETVAL 

case "$1" in 
start) 
start 

stop) 
stop 

restart) 
stop 
start 

reload) 
reload 

status) 
status -p $PID_FILE nginx 
RETVAL=$? 

*) 
echo $"Usage: $0 {start|stop|restart|reload|status}" 
RETVAL=1 
esac 
exit $RETVAL