Nginx在Centos5下的service启动脚本

按网上的教程,把Nginx+php-cgi+mysql安装完毕之后,网上给出的是一个run.sh脚本,要手动启动,或者添加到/etc/rc.local里。

而ubuntu server 9.04里自带的软件包里有nginx,且自带一个service启动脚本,于是发挥拿来主义,放到 centos里面使用。

原来网上的解决是:

脚本:
ulimit -SHn 51200
/usr/local/webserver/php/sbin/php-fpm start
/usr/local/webserver/nginx/sbin/nginx

ubuntu里的脚本,需要一个命令的支持start-stop-daemon,在ubuntu的/sbin/目录下,复制到centos/sbin/目录下。

还有一个脚本在原ubuntu的/lib/lsb/init-functions,复制到/centos 的同一个目录。

即:下载里的三个文件需要存放的位置为

nginx  /etc/init.d/

start-stop-daemon  /sbin/

init-functions   /lib/lsb/

其中nginx稍微修改了一下,使他符合我的服务器环境,现在就OK了!

这几个文件需要更改用户所有权和运行权限

chown root:root /etc/init.d/nginx

chmod +x /etc/init.d/nginx

chown root:root /sbin/start-stop-daemon

chmod +x /sbin/start-stop-daemon

chown root:root /lib/lsb/init-functions不需要运行权限

Usage: /etc/init.d/nginx {start|stop|restart|reload|force-reload|status}

++++++++++++++++++++++++++++++++++++++++++++++++++++++

Usage: /etc/init.d/nginx {start|stop|restart|reload|force-reload|status}

经过测试,这几条指令还算正常,其中force-reload等同于restart。
自动启动
chkconfig –level 345 nginx on
chkconfig –add nginx
/etc/rc.local里,最后加上
ulimit -SHn 51200
/usr/local/webserver/php/sbin/php-fpm start
让php-fpm放入自启动service
cp /usr/local/php/sbin/php-fpm /etc/init.d/
vim php-fpm
#! /bin/sh
下写上
### BEGIN INIT INFO
# Provides:          php
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the php-fpm fastcgi
# Description:       starts fastcgi php-fpm
### END INIT INFO
让其支持 chkconfig,然后
chkconfig –level 345 php-fpm on
chkconfig –add php-fpm

下载:Skydriver下载点

在centos 下 wget http://cid-84213221c4276f1f.skydrive.live.com/self.aspx/.Public/2009/nginx.tar.gz

发表评论

电子邮件地址不会被公开。 必填项已用*标注