• php-fpm.conf 配置文件详解


                                php-fpm.conf  配置文件详解                              

    [global]
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    log_level = notice
    #错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.
    
    rlimit_files = 65535
    #设置核心rlimit最大限制值.
    
    [www]
    user = joy
    group = joy
    listen = 127.0.0.1:9000
    #fpm监听端口,即nginx中php处理的地址
    
    listen.backlog = 2048
    #backlog数,-1表示无限制,由操作系统决定,此行注释掉就行。
    
    pm = dynamic
    pm.max_children = 1024
    #,子进程最大数
    
    pm.start_servers = 10         
    #控制服务启动时创建的进程数
    
    pm.min_spare_servers = 10     
    #,保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
    
    pm.max_spare_servers = 60
    #保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
    
    pm.max_requests = 102400
    #设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的. 如果设置为 '0' 则一直接受请求. 等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值: 0.
    
    request_terminate_timeout = 10s
    #设置单个请求的超时中止时间. 该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行的脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。
    
    request_slowlog_timeout = 10s
    #当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中. 设置为 '0' 表示 'Off'
    
    slowlog = var/log/$pool.log.slow
    #慢请求的记录日志,配合request_slowlog_timeout使用
    • 设置”max_children”也需要根据服务器的性能进行设定,一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右,因 此我的”max_children”我设置成40个,20M*40=800M也就是说在峰值的时候所有PHP-CGI所耗内存在800M以内,低于我的有 效内存1Gb。而如果我的”max_children”设置的较小,比如5-10个,那么php-cgi就会“很累”,处理速度也很慢,等待的时间也较 长。如果长时间没有得到处理的请求就会出现504 Gateway Time-out这个错误,而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。
    • nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器
  • 相关阅读:
    sublime去除空白行和重复行
    python list删除数据 和复制 列表
    微博实现简繁体转换
    2017.10.27日面试总结
    python 类和__class__理解
    python 单例模式应用
    pt-query-digest 慢日志监控
    在线安全清空慢查询日志slowlog
    Linux高级系统恢复技术
    灾备演练
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/4974909.html
Copyright © 2020-2023  润新知