在安装完nginx后,重新启动需要“kill -hup nginx进程编号”来进行重新加载,显然十分不方便。如果能像apache一样,直接通过脚本进行管理就方便多了。nginx官方早就想好了,也提供了这个脚本,地址:http://wiki.nginx.org/redhatnginxinitscript。这里将管理脚本收录在这里:#!/bin/sh## nginx - this script starts and stops the nginx daemon## chkconfig: - 85 15# description: nginx is an http(s) server, http(s) reverse \# proxy and imap/pop3 proxy server# processname: nginx# config: /etc/nginx/nginx.conf# config: /etc/sysconfig/nginx# pidfile: /var/run/nginx.pid # source function library.. /etc/rc.d/init.d/functions # source networking configuration.. /etc/sysconfig/network # check that networking is up.[ $networking= no] && exit0 nginx=/usr/sbin/nginxprog=$(basename$nginx) nginx_c/etc/nginx/nginx.conf [ -f /etc/sysconfig/nginx] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # make required directories user=`$nginx -v 2>&1 | grepconfigure arguments: | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` if[ -z `grep $user /etc/passwd`]; then useradd-m -s /bin/nologin$user fi opti -v 2>&1 | grep'configure arguments:'` foropt in$options; do if[ `echo$opt | grep'.*-temp-path'` ]; then value=`echo$opt | cut-d =-f 2` if[ ! -d $value]; then # echo creating $value mkdir-p $value && chown-r $user $value fi fi done} start() { [ -x $nginx ] || exit5 [ -f $nginx_conf_file ] || exit6 make_dirs echo-n $starting $prog: daemon $nginx -c $nginx_conf_file retval=$? echo [ $retval -eq0 ] && touch$lockfile return$retval} stop() { echo-n $stopping $prog: killproc $prog -quit retval=$? echo [ $retval -eq0 ] && rm-f $lockfile return$retval} restart() { configtest || return$? stop sleep1 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/null2>&1} case$1 in start) rh_status_q && exit0 $1 ;; stop) rh_status_q || exit0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit0 ;; *) echo$usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest} exit2esac
将以上脚本保存到/etc/init.d/nginx文件,并修改两个地方:nginx=”/usr/sbin/nginx” 修改成nginx执行程序的路径。nginx_c/etc/nginx/nginx.conf” 修改成配置文件的路径。保存后,就可以通过该脚本对nginx服务进行管理了:$ /etc/init.d/nginx start$ /etc/init.d/nginx stop$ /etc/init.d/nginx reload...使用chkconfig进行管理上面的方法完成了用脚本管理nginx服务的功能,但是还是不太方便,比如要设置nginx开机启动等。这时可以使用chkconfig来设置。先将nginx服务加入chkconfig管理列表:chkconfig --add /etc/init.d/nginx加完这个之后,就可以使用service对nginx进行启动,重启等操作了。$ service nginx start$ service nginx stop$ service nginx reload...设置终端模式开机启动:$ chkconfig --level 3 nginx on
from: http://www.01happy.com/centos-nginx-shell-chkconfig/
以上就介绍了centos下nginx启动脚本和chkconfig管理,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。