• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP-FPM 设置多pool及配置文件重写操作示例

    本文实例讲述了PHP-FPM 设置多pool及配置文件重写操作。分享给大家供大家参考,具体如下:

    重写配置文件

    1、清空php配置文件

    命令:> /usr/local/php/etc/php-fpm.conf

    2、重新写入php-fpm配置

    命令:vim /usr/local/php/etc/php-fpm.con

    配置文件

    # 全局配置
    [global]
    # PID、可以不填
    pid = /usr/local/php/var/run/php-fpm.pid
    # 错误日志路径、可以不填
    error_log = /usr/local/php/var/log/php-fpm.log
    # www虚拟主机配置、可写多个
    # pool命名:www
    [www]
    # 监听socket方式
    # 可以写成listen = 127.0.0.1:9000
    listen = /tmp/php-fcgi.sock
    # 开启php-fpm的执行用户
    user = php-fpm
    # 开启php-fpm的所属组
    group = php-fpm
    # 监听listen的用户,和后面的nginx的一致
    listen.owner = nobody
    # 监听listen的组,和后面的nginx的一致
    listen.group = nobody
    # 怎样的形式启用进程
    pm = dynamic
    # 最大开启子进程数
    pm.max_children = 50
    # 一开始启动多少子进程
    pm.start_servers = 20
    # 空闲时保留多少个子进程
    pm.min_spare_servers = 5
    # 最多空闲子进程
    pm.max_spare_servers = 35
    # 进程处理多少个请求之后销毁重建
    pm.max_requests = 500
    # 限定打开最大的文件数
    rlimit_files = 1024
    
    

    3、测试配置文件

    # 测试配置文件
    /usr/local/php/sbin/php-fpm -t

    测试成功:

    [30-Jan-2018 23:43:32] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

    4、重启动php-fpm

    命令:/etc/init.d/php-fpm start

    5、查看启动状况

    查看启动进程

    ps -aux | grep php-fpm
    root   1530 0.0 0.5 32036 2928 ?    Ss  23:45  0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
    php-fpm  1531 0.0 0.4 32036 2512 ?    S  23:45  0:00 php-fpm: pool www
    php-fpm  1532 0.0 0.4 32036 2512 ?    S  23:45  0:00 php-fpm: pool www
    php-fpm  1533 0.0 0.4 32036 2512 ?    S  23:45  0:00 php-fpm: pool www
    php-fpm  1534 0.0 0.4 32036 2512 ?    S  23:45  0:00 php-fpm: pool www
    
    

    查看监听是否为nobody用户

    ls -l /tmp/php-fcgi.sock
    srw-rw-rw-. 1 nobody nobody 0 1月 30 23:45 /tmp/php-fcgi.sock
    
    

    注:权限都需要有读写,nginx才可以访问到socket。

    查看nginx是否调用了nobody

    ps aux | grep nginx
    root   1606 0.0 0.1  5352  640 ?    Ss  02:46  0:00 nginx: master process /usr/local/nginx/sbin/nginx
    nobody  1607 0.0 0.3  6164 1568 ?    S  02:46  0:00 nginx: worker process
    root   1609 0.0 0.1  5980  744 pts/0  S+  02:46  0:00 grep nginx

    设置多个pool

    需求:置两个pool,www1,www2

    注:pool对应一个nginx的站点,这样可以提高安全,如同站点切割。

    1、主配置文件下配置两个pool。

    配置文件

    # 全局配置
    [global]
    # PID、可以不填
    pid = /usr/local/php/var/run/php-fpm.pid
    # 错误日志路径、可以不填
    error_log = /usr/local/php/var/log/php-fpm.log
    # www虚拟主机配置、可写多个
    [www1]
    # 监听socket方式 可以写成127.0.0.1:9000 TCP的。
    listen = /tmp/php-fcgi1.sock
    # 开启php-fpm的执行用户
    user = php-fpm
    # 开启php-fpm的所属组
    group = php-fpm
    # 监听listen的用户,和后面的nginx的一致
    listen.owner = nobody
    # 监听listen的组,和后面的nginx的一致
    listen.group = nobody
    # 怎样的形式启用进程、static static静态、pm dynamic动态
    pm = dynamic
    # 最大开启子进程数
    pm.max_children = 50
    # 一开始启动多少子进程
    pm.start_servers = 20
    # 空闲时保留多少个子进程
    pm.min_spare_servers = 5
    # 最多空闲子进程
    pm.max_spare_servers = 35
    # 进程处理多少个请求之后销毁重建
    pm.max_requests = 500
    # 限定打开最大的文件数
    rlimit_files = 1024
    # 定义慢日志
    slowlog = /tmp/xxx_slow.log
    # 处理延迟多少秒记录一次慢日志
    request_slowlog_timeout = 1
    # 配置隔离网站
    php_admin_value[open_basedir]=/usr/local/url1:/usr/local/url2
    # www虚拟主机配置、可写多个
    [www2]
    # 监听socket方式 可以写成127.0.0.1:9000 TCP的。
    listen = /tmp/php-fcgi2.sock
    # 开启php-fpm的执行用户
    user = test
    # 怎样的形式启用进程、static static静态、pm dynamic动态
    pm = dynamic
    # 最大开启子进程数
    pm.max_children = 50
    # 一开始启动多少子进程
    pm.start_servers = 20
    # 空闲时保留多少个子进程
    pm.min_spare_servers = 5
    # 最多空闲子进程
    pm.max_spare_servers = 35
    # 进程处理多少个请求之后销毁重建
    pm.max_requests = 500
    # 限定打开最大的文件数
    rlimit_files = 1024
    # 定义慢日志
    slowlog = /tmp/xxx2_slow.log
    # 处理延迟多少秒记录一次慢日志
    request_slowlog_timeout = 1
    # 配置隔离网站
    php_admin_value[open_basedir]=/usr/local/url1:/usr/local/url2
    
    

    2、查看两个pool的启动进程

    查看进程

    ps -aux | grep php-rpm
    root   2486 0.4 0.6 32240 3136 ?    Ss  09:31  0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
    php-fpm  2487 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1
    php-fpm  2488 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1
    php-fpm  2489 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1
    php-fpm  2490 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1
    php-fpm  2491 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1
    php-fpm  2492 0.0 0.4 32036 2532 ?    S  09:31  0:00 php-fpm: pool www1
    test   2507 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2
    test   2508 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2
    test   2509 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2
    test   2510 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2
    test   2511 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2
    test   2512 0.0 0.4 32036 2536 ?    S  09:31  0:00 php-fpm: pool www2
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP pthreads v3下worker和pool的使用方法示例
    • PHP设计模式之建造者模式(Builder)原理与用法案例详解
    • PHP设计模式之适配器模式(Adapter)原理与用法详解
    • PHP设计模式之策略模式(Strategy)入门与应用案例详解
    • PHP设计模式之单例模式入门与应用详解
    • PHP设计模式之观察者模式入门与应用案例详解
    • php设计模式之单例模式用法经典示例分析
    • php设计模式之观察者模式定义与用法经典示例
    • 浅谈PHP设计模式之对象池模式Pool
    上一篇:php实现大文件断点续传下载实例代码
    下一篇:php实现映射操作实例详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP-FPM 设置多pool及配置文件重写操作示例 PHP-FPM,设置,多,pool,及,配置文件,