企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
FastCGI Process Manager php从5.3.3版本开始集成php-fpm ## 配置文件 php-fpm.conf * 用于编辑Unix套接字与用户和组 * 监听的IP和端口号,允许连入的客户端IP * 提供同时处理请求总数 * 了解phpfpm使用状态 * 定义资源使用 ## 全局配置 ~~~ [global] pid = /run/php-fpm/php-fpm.pid error_log = /var/log/php-fpm/error.log ;log_level = notice ;emergency_restart_threshold = 0 ;设置时间间隔来决定初始化时间,对于工作在加速共享内存意外时很有用 ;emergency_restart_interval = 0 ; 子进程等待master进程对信号的回应 ;process_control_timeout = 0 daemonize = no ~~~ ### 进程池 ~~~ ; 'ip.add.re.ss:port' ; 'port' ; '/path/to/unix/socket' listen = 192.168.101.29:9000 ; -1 代表不限制 ;listen.backlog = -1 ; 地址之间用“逗号”隔开 listen.allowed_clients = 192.168.101.191,192.168.101.29 ; pm 进程管理器如何控制子进程的数目 ; static 静态算法 子进程数目控制为固定数目(pm.max_children) ; dynamic动态算法 pm = dynamic ;同一时刻的最大进程数 pm.max_children = 50 ;启动时的进程数 pm.start_servers = 5 ; 最小子进程数 pm.min_spare_servers = 5 ; 最大子进程数 pm.max_spare_servers = 35 ;派生出子进程之前,每个进程应该处理的请求数目 ;pm.max_requests = 500 ; php-fpm status详解,需要先配置将status转发到phpfpm pool – fpm池子名称,大多数为www process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic start time – 启动日期,如果reload了php-fpm,时间会更新 start since – 运行时长 accepted conn – 当前池子接受的请求数 listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量 max listen queue – 请求等待队列最高的数量 listen queue len – socket等待队列长度 idle processes – 空闲进程数量 active processes – 活跃进程数量 total processes – 总进程数量 max active processes – 最大的活跃进程数量(FPM启动开始算) max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。 slow requests – 启用了php-fpm slow-log,缓慢请求的数量 ; 请求脚本可以执行的最大时间 request_terminate_timeout = 0 ; 蛮请求设置 ;request_slowlog_timeout = 0 slowlog = /var/log/php-fpm/www-slow.log ; 打开文件描述符限制 ; 默认是继承系统设置 ;rlimit_files = 1024 ~~~ [status][1] ~~~ location ~ ^/(status|ping)$ { include fastcgi_params; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; } ~~~ 访问 http://192.168.101.29/status http://192.168.101.29/status?json http://192.168.101.29/status?html http://192.168.101.29/status?full [1]:http://www.ttlsa.com/php/use-php-fpm-status-page-detail/