欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

[ZT] 使用PHP-FPM (PHP FastCGI Process Manager)来对php-cgi进程进行管理

程序员文章站 2022-04-09 17:55:28
...
简介:这是[ZT] 使用PHP-FPM (PHP FastCGI Process Manager)来对php-cgi进程进行管理的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。 class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=334798' scrolling='no'>

如果使用PHP-FPM (PHP FastCGI Process Manager)来对进程进行管理,则需要提前做如下工作:
先到官网下载与php版本对应的php-fpm补丁:PHP-FPM
假设:php源代码目录在:/usr/local/php/source/php-5.2.9,php-fpm下载到了/usr/local/php/source

cd /usr/local/php/sourcegzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1

补丁打好以后,编译php的时候增加了下面几个参数:

?enable-fpm 激活fastcgi模式的fpm支持
?with-fpm-conf php-fpm的配置文件(默认是PREFIX/etc/php-fpm.conf)
?with-fpm-log php-fpm的日志文件(默认是PREFIX/logs/php-fpm.log)
?with-fpm-pid php-fpm的pid文件(默认是PREFIX/logs/php-fpm.pid)

编译的时候?enable-fpm当然是必须的,其它几项可以根据你自己的情况自行调整。
编译参数:

cd /usr/local/src/php-5.2.9./configure --enable-fastcgi --enable-fpm --prefix=/usr/local/php --with-config-file-path=/etcmakemake install

其它的一些php编译参数,这里就略去了。
稍等片刻,等php编译并安装好,下面开始配置php-fpm。

vi /etc/php-fpm.conf

php-fpm.conf是一个xml格式的纯文本文件,具体细节可以自己打开看看,基本上一看就明白了。在这里特别注意一下这几个配置字段::

#这个表示php的fastcgi进程监听的ip地址以及端口127.0.0.1:9000 #表示php的fastcgi进程以什么用户以及用户组来运行nobodynobody #是否显示php错误信息0 #最大的子进程数目5

下面运行php-fpm:

/usr/local/php/bin/php-cgi --fpm

现在php的fastcgi进程就已经在后台运行,并监听127.0.0.1的9000端口。
可以用ps和netstat来看看结果:

ps aux | grep php-cginetstat -tpl | grep php-cgi

安装好了php-fpm,那么它是怎么来达到我们最初的目的的呢?
很幸运,php-fpm自己就给我们准备了一个程序来控制fastcgi进程,这个文件在$PREFIX/sbin/php-fpm

运行一下:

/usr/local/php/sbin/php-fpm

该程序有如下参数:

start 启动php的fastcgi进程
stop 强制终止php的fastcgi进程
quit 平滑终止php的fastcgi进程
restart 重启php的fastcgi进程
reload 重新加载php的php.ini
logrotate 重新启用log文件

也就是说,在修改了php.ini之后,我们可以使用

/usr/local/php/sbin/php-fpm reload

这样,保持php的fastcgi进程持续运行的状态下,又重新加载了php.ini。

转载自 http://www.wemvc.com/872.html

爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

http://biancheng.dnbcw.info/php/334798.html pageNo:10