由于某种原因,我只需要在其中一台服务器上运行 mysql 后才启动 apache2。
我试过了:
- 重命名 /etc/rc2.d 中的脚本,使 S0Xmysql 的数字低于 S0Yapache2 - 但这没有帮助。
- 编辑 /etc/init.d/apache2 并添加Required-Start $mysql
但当我在启动时观察屏幕时,我仍然看到
INIT: Entering runlevel: 2
...
Starting web server: apache2Action 'start' failed.
只有那时
Starting MySQL database server: mysqld
谢谢
答案1
在 /etc/init.d/apache2 的顶部,你会看到lsb 头部分如下所示:
### 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/insserv/overrides/apache2
。Required-Start
通过在行尾添加“mysql”来更改行。然后运行insserv -d
。然后您应该会看到 apache2 的启动链接被移到 mysql 之后。