zoukankan      html  css  js  c++  java
  • [ZT] 使用PHPFPM (PHP FastCGI Process Manager)来对phpcgi进程进行管理

    简介:这是[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/
    source
    
    gzip
     -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
    =/
    etc
    make
    
    make
     install
    

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

    vi
     /
    etc/
    php-fpm.conf

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

    #这个表示php的fastcgi进程监听的ip地址以及端口
    <value
     name
    ="listen_address"
    >
    
    127.0.0.1:9000</value>
    
    
    
     
    #表示php的fastcgi进程以什么用户以及用户组来运行
    <value
     name
    ="user"
    >
    
    nobody</value>
    
    
    
    <value
     name
    ="group"
    >
    
    nobody</value>
    
    
    
     
    #是否显示php错误信息
    <value
     name
    ="display_errors"
    >
    
    0</value>
    
    
    
     
    #最大的子进程数目
    <value
     name
    ="max_children"
    >
    
    5</value>
    
    
    

    下面运行php-fpm:

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

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

    ps
     aux |
     grep
     php-cgi
    netstat
     -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
  • 相关阅读:
    Android | 教你如何开发一键银行卡绑定功能
    Android | 教你如何开发一个拍照翻译小程序
    Android | 教你如何开发一个证件照DIY小程序
    Android | 教你如何用三十分钟在安卓上开发一个微笑抓拍神器
    设计之禅——备忘录模式
    设计之禅——中介者模式
    设计之禅——解释器模式(译文)
    设计之禅——享元模式
    设计之禅——责任链模式
    设计之禅——桥接模式
  • 原文地址:https://www.cnblogs.com/ooooo/p/2247926.html
Copyright © 2011-2022 走看看