Linux
Apache / httpd 未在啟動時自動啟動
我在 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
應該做。