服务器重启或 apt-get update 后 Apache2 和 MySQL 无法重启

服务器重启或 apt-get update 后 Apache2 和 MySQL 无法重启

是否有人知道为什么 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

相关内容