Linux

Apache / httpd 未在啟動時自動啟動

  • January 24, 2013

我在 Amazon Linux AMI 版本 2012.03 上安裝了 apache2。我可以手動啟動它,使用/etc/init.d/httpd start. 但是,它不會在機器啟動時自動啟動。

看來我的 rc*.d 目錄中的所有內容都已正確配置。這是結果find /etc/rc.d -name "*httpd*" | xargs ls -l

-rwxr-xr-x 1 root root 3371 Feb 16  2012 /etc/rc.d/init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc0.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc1.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc2.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc3.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc4.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc5.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc6.d/K15httpd -> ../init.d/httpd

我知道我可以將/etc/init.d/httpd start命令放入/etc/rc.local,但這不是一種解決方法嗎?為什麼不自動啟動?rc*.d 目錄中的其他內容在啟動時就可以正常啟動(mongod、postfix 等)。謝謝!

使用 chkconfig 管理您希望此服務啟動的執行級別。

通常chkconfig httpd on可以完成這項工作。

您沒有任何“S”連結。所有的“K”都只關閉。添加同名連結,只需將 K 替換為 S。

“一般來說,系統啟動以字母“S”開頭的命令並停止以字母“K”開頭的命令。以字母“K”開頭的命令僅在系統將執行級別從更高級別更改為一個較低的級別。以字母“S”開頭的命令在所有情況下都執行。

如果使用 chkconfig,請參閱“man chkconfig”。對於您的情況:

chkconfig --level 2345 httpd on

應該做。

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