【www.bbyears.com--nginx】
ginx源码安装完后不能使用/etc/init.d/XX方式重启等,所以写了个启动脚本。
原理还是利用了nginx自己的启动脚本,只是进行了简单的整合。
把以下脚本保存为nginx文件放入/etc/init.d/nginx
然后可以通过
/etc/init.d/nginx start 命令启动nginx
/etc/init.d/nginx stop 命令停止nginx
/etc/init.d/nginx restart 命令重启nginx
开机自动启动nginx,
如果需要开机启动服务,保存好 /etc/init.d/nginx文件后,
执行以下命令:
chkconfig --add ningx
chkconfig --level nginx 2345 on
PS:ubuntu下的版本
代码如下#! /bin/sh
# Author: WJ-Cody
# Reproduced with express authorization from its contributors
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=nginx
DAEMON=/usr/local/nginx/sbin/nginx
SCRIPTNAME=/etc/init.d/nginx
PID=/home/weblogs/nginx.pid
CONF=/usr/local/nginx/conf/nginx.conf
# If the daemon file is not found, terminate the script.
test -x $DAEMON || exit 0
d_start() {
$DAEMON || echo -n "nginx already running"
}
d_stop() {
kill -INT `cat $PID` || echo -n "nginx not running"
}
d_reload() {
kill -HUP `cat $PID` || echo -n "nginx could not reload"
}
case "$1" in
start)
echo -n "Starting $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading configuration..."
d_reload
echo "reloaded."
;;
restart)
echo -n "Restarting $NAME"
d_stop
# Sleep for two seconds before starting again, this should give the
# Nginx daemon some time to perform a graceful stop.
sleep 2
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
exit 3
;;
esac
exit 0
2. 修改nginx脚本的执行权限
代码如下# sudo chmod +x /etc/init.d/nginx
3. 设置nginx开机执行
代码如下# sudo chkconfig --list
# sudo chkconfig nginx defaults
# sudo chkconfig --list
结果如下:
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
4. 脚本测试
启动:# sudo /etc/init.d/nginx start
停止:# sudo /etc/init.d/nginx stop
重启:# sudo /etc/init.d/nginx restart