php 5.3.3以上的版本将把php-fpm集成于内核中,以后再安装fast-cgi就不需要再打补丁了。开心一下。
在以后的版本中使用php-fpm将需要通过信号控制来对php-fpm进行相关的一些操作。具体如下:
SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
INT, TERM立刻终止
QUIT平滑终止
USR1重新打开日志文件
USR2平滑重载所有worker进程并重新载入配置和二进制模块
notice: 上面信号指令为全拼,示例的为简写。
其中”/usr/local/php/var/run/php-fpm.pid“,为你安装的php-fpm的运行的进程。如不知道自己的机器上面所运行的进程文件是什么,可以通过下面的命令来查看。
转自:http://hi.baidu.com/xc_hai/blog/item/ac1e3dfa3cef57344e4aea93
关于php-fpm的编译参数有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。
这个php-fpm 不再支持 php-fpm 补丁具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:
master进程可以理解以下信号
SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
php-fpm 关闭:
kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重启:
kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`
其次配置文件不再使用的xml 格式,改为了INI,但是配置参数几乎和以前一样,可参照xml格式的格式配置。
—————-补充内容php 5.3.6 中 php-fpm 配置 成 服务启动—————-
cp -f /tools/php-5.3.6/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
php-fpm的启动:##vim /usr/local/webserver/php/etc/php-fpm.conf
php-fpm.pid 目录必须是:/usr/local/webserver/php/var/run/php-fpm.pid
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
/sbin/chkconfig --add php-fpm (添加到开机服务列表)
/sbin/chkconfig php-fpm on
php-fpm的启动、停止和重启:
/etc/init.d/php-fpm start
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm reload
启动效果如下:
Hai_ISD_7_9_Cent56_64:/usr/local/webserver/php/etc#service php-fpm start
Starting php-fpm done
Hai_ISD_7_9_Cent56_64:/usr/local/webserver/php/etc#service php-fpm stop
Gracefully shutting down php-fpm . done
Hai_ISD_7_9_Cent56_64:/usr/local/webserver/php/etc#service php-fpm start
Starting php-fpm done
Hai_ISD_7_9_Cent56_64:/usr/local/webserver/php/etc#service php-fpm reload
Reload service php-fpm done
nginx中涉及的路径最好采用绝对路径
1. nginx的启动(nginx.conf文件基本上位于nginx主目录中的conf目录中)
2. nginx的停止(nginx.pid文件基本上位于nginx主目录中的logs目录中)
3. nginx的平滑重启
4. nginx的平滑升级
#!/bin/sh
BASE_DIR='/usr/local/'
${BASE_DIR}nginx/sbin/nginx-t-c${BASE_DIR}nginx/conf/nginx.
conf>&${BASE_DIR}nginx/logs/nginx.start
info=`cat${BASE_DIR}nginx/logs/nginx.start`
if[`echo$info|grep-c"syntaxisok"`-eq1];then
if[`psaux|grep"nginx"|grep-c"master"`==1];then
kill-HUP`cat${BASE_DIR}nginx/logs/nginx.pid`
echo"ok"
else
killall-9nginx
sleep1
${BASE_DIR}nginx/sbin/nginx
fi
else
echo"########error:########"
cat${BASE_DIR}nginx/logs/nginx.start
fi