zoukankan      html  css  js  c++  java
  • PHP-FPM 设置多pool、配置文件重写

    重写配置文件
    1、清空php配置文件
    命令:> /usr/local/php/etc/php-fpm.conf
    2、重新写入php-fpm配置
    命令:vim /usr/local/php/etc/php-fpm.conf
    # 全局配置
    [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          
    查看启动进程
    ls -l /tmp/php-fcgi.sock 
    
    srw-rw-rw-. 1 nobody nobody 0 1月  30 23:45 /tmp/php-fcgi.sock
    
    注:权限都需要有读写,nginx才可以访问到socket。
    查看监听是否为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
    查看nginx是否调用了nobody

    设置多个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                                                                                                           
    查看进程
  • 相关阅读:
    Linux/UNIX编程:实现简单 tee 命令
    Java原子变量类需要注意的问题
    一种很有意思的数据结构:Bitmap
    Java实现简单井字棋
    分治算法学习
    使用栈实现表达式求值
    Web安全学习笔记——SQL注入
    【old】Python学习笔记
    函数1
    pycharm(Tip of Day)
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/8397328.html
Copyright © 2011-2022 走看看