Apache / httpd无法在启动时自动启动


11

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


迈克,我想您可以在Amazon AMI发行版上使用chkconfig --list和chkconfig。
JasonAzze 2013年

chkconfig --list节目httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off...所以我该如何打开它们?谢谢!
Mike Cialowicz

Answers:


34

使用chkconfig来管理要启动该服务的运行级别。

通常chkconfig httpd可以完成这项工作。


如果那不起作用怎么办?
Paul Sheldrake,2015年

2
@PaulSheldrake您是否正在运行一个使用systemd的操作系统?例如,Red Hat 7系列中的Linux现在使用systemd。在这种情况下,您需要systemctl enable httpd
JasonAzze 2015年

@JasonAzze我正在使用centos 6.5。
Paul Sheldrake 2015年


@PaulSheldrake的失败模式是什么?如果发出问题chkconfig --list httpd,运行级别2-5是否“打开”?我想知道httpd是否尝试启动但由于错误的httpd配置而立即停止。日志中有证据吗?
JasonAzze 2015年

7

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

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

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

chkconfig --level 2345 httpd on

应该做。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.