我们在只有一个网站的大型专用服务器上运行 centos/cPanel。我们需要在“无人”下上传文件的速度和能力。这意味着 suPHP 和 DSO 出局了。所以 php 处理程序是 mod_fcgid。有时 apache 错误日志会显示 mod_fcgid: read data timeout in 40 seconds。我们假设这意味着在使用 easyapache 安装时未正确配置 mod_fcgid。
在阅读了关于如何修复的 g 之后,我们发现了两个花絮。一个处理MPM。另一个令人惊讶的是,显示了如何增加超时响应(通常增加超时响应是一件坏事,因为服务器内部有更糟糕的事情)。
我们应该在 mod_fcgid 中使用 MPM 事件、prefork 和/或 worker 吗?我们目前已经配置了 prefork。
如果我们确实增加了超时,我们应该使用以下设置:
IPCConnectTimeout 20
ProcessLifeTime 120
IdleTimeout 60
IdleScanInterval 30
MaxRequestsPerProcess 499
MaxProcessCount 100
或者
FcgidProcessLifeTime 8200
FcgidIOTimeout 8200
FcgidConnectTimeout 400
FcgidMaxRequestLen 1000000000
如果我们确实使用了这些设置中的任何一个,它们应该在哪里设置:1)在 php.fcgi 脚本中,或 2)在 Apache 中的 FastCGI 配置。