我最近使用 apache 配置了加速器和 fastcgi:http: //secure-ubuntu-server.blogspot.com/2009/07/howto-performance-tuning-of-lamp-and.html
现在我的 Apache 永远不会启动。
日志显示:
Mon Jul 20 16:12:24 2009] [notice] ModSecurity for Apache/2.5.6 (http://www.modsecurity.org/) configured.
[Mon Jul 20 16:12:25 2009] [notice] FastCGI: process manager initialized (pid 10919)
[Mon Jul 20 16:12:25 2009] [alert] FastCGI: read() from pipe failed (0)
[Mon Jul 20 16:12:25 2009] [alert] FastCGI: the PM is shutting down, Apache seems to have disappeared - bye
您使用的 PHP 的确切版本是什么?eAccelerator 与 PHP 5.3 不兼容——老实说,我强烈推荐在 eAccelerator 之上使用 APC 或 XCache。
尝试直接从命令行运行 Apache 实例(即运行
/usr/sbin/apache2
或任何 HTTPD 可执行文件),看看您是否得到更多反馈(例如,Segmentation fault
)。我无法发表评论,所以我会在这里发帖。
可能是 php 导致了分段错误,因此 apache 正在消亡。如果您在 FcgidWrapper 或其他东西中使用 php-cgi,但是您使用 fastcgi 配置了 php,请尝试直接从命令行运行该东西。
例如,/usr/bin/php-cgi。
如果您已使用 Action 指令对其进行配置,请确保包装器已设置可执行位。
尝试使用 strace 从 shell 运行 apache 二进制文件:
strace -f /usr/sbin/apache2 > /tmp/outfile
或者你的二进制文件是什么。之后检查带有 less 或 tail 的文件以检查在 apache 死之前发生的最后一个条目(在错误消息写入日志之前不久)。
少 /tmp/outfile