Apache-2.2

Apache 和 MySQL 不會在啟動時啟動

  • March 13, 2013

我在伺服器上執行 Debian 6。在這台伺服器上,我希望在系統啟動時啟動 Apache2 和 MySQL 的實例。

為此,我知道 rc.d 目錄中有 init.d 腳本和符號連結。

我可以使用以下sysv-rc-conf命令檢查配置:

┌ SysV Runlevel Config   -: stop service  =/+: start service  h: help  q: quit ─┐
│                                                                               │
│ service      1       2       3       4       5       0       6       S        │
│ ----------------------------------------------------------------------------  │
│ apache2     [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]       │
│ mysql       [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]       │
│                                                                               │
└───────────────────────────────────────────────────────────────────────────────┘

所以我嘗試使用reboot命令重新啟動機器。然後我測試我的服務:

root@server:~# /etc/init.d/apache2 status
Apache2 is NOT running.
root@server:~# /etc/init.d/mysql status
MySQL is stopped..

我想檢查符號連結,但它們看起來不錯:

root@server:~# ls -l /etc/rc2.d/
(...)
lrwxrwxrwx 1 root root  15 Mar 12 22:12 S02mysql -> ../init.d/mysql
lrwxrwxrwx 1 root root  13 Sep 22  2011 S02ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  17 Mar 12 22:12 S03apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root  18 Jan 24  2012 S03rc.local -> ../init.d/rc.local
(...)

你知道為什麼這不起作用嗎?

也許你應該嘗試使用 chkconfig 包

apt-get install chkconfig

once done, 

chkconfig mysql on 
chkconfig apache2 on 

如果由於某種原因不起作用,您可以添加

echo "/etc/init.d/mysql start" >> /etc/rc.local
echo "/etc/init.d/apache2 start"  >> /etc/rc.local

重啟並測試

  • 檢查是否可以使用**/etc/init.d**目錄中的啟動腳本手動啟動Apache2MySQL

  • 檢查日誌文件,尤其是**/var/log/syslog**、/var/log/messages/var/log/apache//var/log/mysql/ ** 使用runlevel命令檢查您的執行級別,並確保符號連結位於正確的**/etc/rc中$$ runlevel $$.d**目錄

  • 嘗試重新啟用**/etc/rc中的符號連結$$ runlevel $$.d使用update-rc.d**命令進行目錄*

引用自:https://serverfault.com/questions/487385