Debian+Plesk环境下PHP_FCGI_MAX_REQUESTS配置文件位置查询
解决Debian + Plesk Onyx 17环境下PHP_FCGI_MAX_REQUESTS的配置问题
针对你遇到的(32)Broken pipe..mod_fcgid: ap_pass_brigade failed in handle_request_ipc function错误,结合Plesk Onyx 17 + Apache 2.4 + FastCGI的环境,以下是具体的配置文件路径和修改步骤:
一、核心配置文件位置(分两种场景)
1. 全局FastCGI配置(影响所有域名)
编辑Apache的mod_fcgid全局配置文件:
/etc/apache2/mods-available/fcgid.conf
在文件中添加或修改环境变量设置:
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 10000
这里的10000是参考值,建议设为你当前FcgidMaxRequestsPerProcess值的10倍(比如如果FcgidMaxRequestsPerProcess是1000,就设为10000)。
2. 单个域名的独立配置(仅影响特定站点)
如果你需要针对某个域名单独设置,Plesk会生成独立的站点配置文件,路径为:
/var/www/vhosts/system/[你的域名]/conf/vhost.conf
在这个文件中添加:
<IfModule mod_fcgid.c> FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 10000 </IfModule>
添加后需要通过Plesk重载配置,执行命令:
plesk bin httpdmng --reconfigure-domain [你的域名]
二、验证配置是否生效
修改完成后,重启Apache服务:
systemctl restart apache2
然后可以通过查看FastCGI进程的环境变量来确认:
cat /proc/$(pgrep php-cgi)/environ | tr '\0' '\n' | grep PHP_FCGI_MAX_REQUESTS
如果输出你设置的值,说明配置生效。
三、关键注意事项
- 确保
PHP_FCGI_MAX_REQUESTS的值大于等于FcgidMaxRequestsPerProcess,官方建议设为10倍,这样可以避免FastCGI进程在Apache还没结束请求时就被回收,从而触发broken pipe错误。 - 如果在
fcgid.conf中找不到相关配置,直接新增对应的FcgidInitialEnv行即可,Plesk不会覆盖全局的mod_fcgid配置。 - 不要忘记修改后重启Apache或重载域名配置,否则新设置不会生效。
内容的提问来源于stack exchange,提问作者Ulugbek
相关产品推荐
相关产品推荐

