我最近使用以下方式使用 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
答案1
您使用的 PHP 的具体版本是什么?eAccelerator 与 PHP 5.3 不兼容 - 说实话,我强烈建议使用 APC 或 XCache 而不是 eAccelerator。
答案2
尝试直接从命令行运行 Apache 实例(即运行/usr/sbin/apache2
或任何 HTTPD 可执行文件)以查看是否获得更多反馈(例如,Segmentation fault
)。
答案3
我无法发表评论,因此我将在这里发帖。
可能是 php 导致分段错误,因此 apache 正在崩溃。如果您在 FcgidWrapper 或其他程序中使用 php-cgi,但您使用 fastcgi 配置了 php,请尝试直接从命令行运行该程序。
例如,/usr/bin/php-cgi。
如果您已使用 Action 指令对其进行了配置,请确保包装器已设置可执行位。
答案4
尝试使用 strace 从 shell 运行 apache 二进制文件:
strace -f /usr/sbin/apache2 > /tmp/outfile
或者您的二进制文件是什么。之后,使用 less 或 tail 检查文件,以检查 apache 死机前(在错误消息写入日志之前不久)发生的最后条目。
减少/tmp/输出文件