zoukankan      html  css  js  c++  java
  • php-fpm 操作命令

    以下内容转自 https://www.cnblogs.com/alibai/p/4070076.html 和 https://blog.csdn.net/wzx19840423/article/details/79071928

    先来理解一下什么是php-fpm

    PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。   

    PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。   现在我们可以在最新的PHP 5.3.2的源码树里下载得到直接整合了PHP-FPM的分支,据说下个版本会融合进PHP的主分支去。相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。   

    PHP5.3.3已经集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。   使用PHP-FPM来控制PHP-CGI的FastCGI进程
    (www.111cn.net)

    启动php-fpm: 
    /Data/apps/php7/sbin/php-fpm(这是源码包凡事安装的) 
    php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /Data/apps/php7/sbin/php-fpm(start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:

    master进程可以理解以下信号

    INT, TERM 立刻终止 
    QUIT 平滑终止 
    USR1 重新打开日志文件 
    USR2 平滑重载所有worker进程并重新载入配置和二进制模块

    一个简单直接的重启方法:

    先查看php-fpm的master进程号

    1 # ps aux|grep php-fpm
    2 root     21891  0.0  0.0 112660   960 pts/3    R+   16:18   0:00 grep --color=auto php-fpm
    3 root     42891  0.0  0.1 182796  1220 ?        Ss   4月18   0:19 php-fpm: master process (/Data/apps/php7/etc/php-fpm.conf)
    4 nobody   42892  0.0  0.6 183000  6516 ?        S    4月18   0:07 php-fpm: pool www
    5 nobody   42893  0.0  0.6 183000  6508 ?        S    4月18   0:17 php-fpm: pool www

    重启php-fpm:

    kill -USR2 42891

    OK了。 
    以下方法没试过copy过来的

    上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:

    上面master进程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf这个配置文件,cat /usr/local/php/etc/php-fpm.conf 发现:

    1 [global]
    2 ; Pid file
    3 ; Note: the default prefix is /usr/local/php/var
    4 ; Default Value: none
    5 ;pid = run/php-fpm.pid

    pid文件路径应该位于/usr/local/php/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 42891 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:

    1 php-fpm 关闭:
    2 kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
    3 php-fpm 重启:
    4 kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'

    启动php-fpm: 
    /Data/apps/php7/sbin/php-fpm(这是源码包凡事安装的) 
    php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /Data/apps/php7/sbin/php-fpm(start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:

    master进程可以理解以下信号

    INT, TERM 立刻终止 
    QUIT 平滑终止 
    USR1 重新打开日志文件 
    USR2 平滑重载所有worker进程并重新载入配置和二进制模块

    一个简单直接的重启方法:

    先查看php-fpm的master进程号

    # ps aux|grep php-fpm
    root     21891  0.0  0.0 112660   960 pts/3    R+   16:18   0:00 grep --color=auto php-fpm
    root     42891  0.0  0.1 182796  1220 ?        Ss   418   0:19 php-fpm: master process (/Data/apps/php7/etc/php-fpm.conf)
    nobody   42892  0.0  0.6 183000  6516 ?        S    418   0:07 php-fpm: pool www
    nobody   42893  0.0  0.6 183000  6508 ?        S    418   0:17 php-fpm: pool www

     

     

     

     

     

    重启php-fpm:

    kill -USR2 42891

    OK了。 
    以下方法没试过copy过来的

    上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:

    上面master进程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf这个配置文件,cat /usr/local/php/etc/php-fpm.conf 发现:

    [global]
    ; Pid file
    ; Note: the default prefix is /usr/local/php/var
    ; Default Value: none
    ;pid = run/php-fpm.pid

     

     

     

     

    id文件路径应该位于/usr/local/php/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 42891 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:

    php-fpm 关闭:
    kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
    php-fpm 重启:
    kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'
  • 相关阅读:
    ASP.NET MVC 重点教程一周年版 第二回 UrlRouting
    ASP.NET MVC 重点教程一周年版 第三回 Controller与View
    DynamicData for Asp.net Mvc留言本实例 下篇 更新
    Asp.net MVC视频教程 18 单选与复选框
    使用ASP.NET MVC Futures 中的异步Action
    ASP.NET MVC RC 升级要注意的几点
    ATL、MFC、WTL CString 的今生前世
    msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义
    关于Windows内存的一些参考文章
    Windows访问令牌相关使用方法
  • 原文地址:https://www.cnblogs.com/geloutingyu/p/9677708.html
Copyright © 2011-2022 走看看