/ 中存储网

Nginx服务的重启脚本

2013-10-26 09:51:01 来源:ITJS.CN
问问堂专家讲述Nginx启动脚本/重启脚本,学习使用centos配置服务器的朋友可以参考下。

第一步

  先运行命令关闭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:[email protected]

### 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