是否有人知道为什么 Apache2 和 MySQL 在服务器重启或 apt-get 更新后无法运行?
我目前正在运行 Ubuntu 12.04 LTS 服务器
/etc/init.d/ 中有 apache2 和 mysql 的相应文件,但它们只能通过手动启动/重启才能起作用。它们永远不会自动运行。
理想情况下,我希望它们能够持续运行,因为网站的运行需要它们持续运行。
apache2 标头初始化与我见过的其他初始化并没有什么不同:
#!/bin/sh
### BEGIN INIT INFO
# Provides: apache2
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop apache2 web server
### END INIT INFO
如果有人能帮助我查找这个问题或者之前曾见过这个问题,我将非常感激。
更新
在查找文件夹 /etc/rc2.d/ 后,没有找到 mysql 的链接,因此我运行了 update-rc.d mysql defaults,现在它就在那里。apache2 已经有一个了
似乎 apache2 error.log 中的错误是一个 sigfault,即网站瘫痪时发生的错误
答案1
根据您粘贴的 INIT INFO,我推荐以下故障排除提示。
检查依赖服务(local_fs、网络、系统日志等)并检查其状态。这些服务被视为强制依赖项,因此它们的故障也会导致 Apache 故障。
您是否使用 chkconfig 命令(或适用于您的 Linux 版本的等效命令)在适当的运行级别中创建了指向 apache/mysql 服务的软链接。如果不执行此操作,则不会在 INIT INFO 代码片段中提到的运行级别中创建软链接。因此,服务不会在启动时加载/执行...
答案2
检查目录是否/etc/rc2.d/
包含如下符号链接:S02apache2 -> ../init.d/apache2
。如果没有,则启动和停止服务的实际符号链接由于某种原因丢失了。您可以使用以下命令update-rd.d
重新生成链接:
# update-rc.d apache2 defaults