Apache / httpd 不会在启动时自动启动

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 等)。谢谢!

答案1

使用 chkconfig 来管理您希望此服务启动的运行级别。

通常chkconfig httpd on完成工作。

答案2

您没有任何“S”链接。所有“K”都仅关闭。添加同名的链接,只需将 K 替换为 S 即可。

“通常,系统会启动以字母“S”开头的命令并停止以字母“K”开头的命令。以字母“K”开头的命令仅在系统将运行级别从较高级别更改为较低级别时运行。以字母“S”开头的命令在所有情况下都会运行。”

如果使用 chkconfig,请参阅“man chkconfig”。对于您的情况:

chkconfig --level 2345 httpd on

应该做。

相关内容