解决Apache的最佳方法不启动?

我们最近得到了一台备份服务器来镜像所有的数据,以防主服务器故障。

我已经通过rsync更新了所有网站数据,并更新了所有的Apacheconfiguration和数据库。 这两台机器都在Ubuntu 9(9.04的主要,备份9.10)。

所以现在一切似乎都已经同步了(仍然需要弄清楚用户同步),我尝试启动Apache。 我明白了

* Starting web server apache2 [fail] 

没有别的表明问题可能是什么。

我知道我没有足够的信息来期待你们的解决scheme,所以我只想知道我可以从哪里去进一步调查这个问题。 会有这个错误日志吗?

谢谢!

在某些特定情况下,日志条目不会写入磁盘 – 例如,如果日志不存在,则可能发生这种情况,或者由于权限问题等,Apache无法写入日志文件。在这种情况下,诊断错误的最好方法是使用'strace':

 [root@server ~]# strace -Ff apachectl start 

虽然输出会非常冗长,但是如果Apache由于某种原因而无法启动,那么您将在尾部看到一个write(),其中包含了input日志的内容以及它失败的原因(如果它没有logging为什么在错误日志中,如果错误消息中包含“无法打开日志”和日志path,请不要感到惊讶;)。

虽然看着你对mod_fcgid的评论,我会build议检查一下Apache的configuration,并检查对mod_fcgid的引用 – 这听起来像是试图打开一个文字“mod_fcgid”文件,而不是加载模块。

httpd -t会testing你的configuration文件的语法,并向terminal吐出任何错误。

任何错误都应该打印到错误日志中(通常在/ var / log / http / error_logs。grep中findhttpd.conf中的ErrorLog来找出在哪里。

我build议使用两个窗口。 在一个窗口中执行“tail -f error_log”,并使用另一个窗口运行“apachectl restart”命令。 find错误之后,请使用错误消息更新您的答案。

如果你的Apache没有运行,检查你的skype端口,大部分时候skype和apache都使用80端口,这意味着skype可能是apache无法启动的原因。 如果已安装,请停止使用Skype。