Linux下PHP-FPM进程管理策略可从进程守护、模式选择、参数调优及监控等方面入手,具体如下:
进程守护
/etc/systemd/system/php-fpm.service文件,设置ExecStart参数并添加--nodaemonize,启用自动重启。/etc/supervisor/conf.d/php-fpm.conf,设置autostart、autorestart等参数实现进程守护。进程管理模式选择
pm=static及pm.max_children参数。pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers,适合负载波动的环境。pm=ondemand及pm.process_idle_timeout。核心参数调优
pm.max_children需根据服务器内存计算(如服务器内存/单个进程内存占用),预留20%~30%资源给系统。pm.max_requests设置单个进程处理请求的最大数量,避免内存泄漏,建议500~1000。request_terminate_timeout限制请求处理超时时间,防止长时间占用进程。资源与安全配置
php.ini设置memory_limit、max_execution_time等参数,控制单个进程的资源占用。listen.owner、listen.group确保进程以低权限用户运行,降低安全风险。listen.acl_users或listen.allowed_clients限制可访问FastCGI的IP。监控与维护
pm.status_path并配置Nginx访问路径,实时查看进程状态、活跃连接数等指标。error_log和慢日志(slowlog),通过tail -f或日志分析工具排查异常。参考来源: