如何让 Apache 在 Linux 上开机时启动?

如何让 Apache 在 Linux 上开机时启动?

我已经在我的 Linux 机器上从源代码安装了 Apache 2。apachectl -k start工作正常,但是如何让 Apache 在启动时启动呢?

这是在 Red Hat Linux 发行版上:

Linux <主机名> 2.6.9-55.ELsmp #1 SMP 2007 年 4 月 20 日星期五 17:03:35 EDT i686 i686 i386 GNU/Linux

答案1

您需要将其 init 脚本添加到适当的运行级别。通常,/etc/init.d/apache2您可以手动运行init 脚本/etc/init.d/apache2 start来启动它。

在 Gentoo 上你可以写:

rc-update add apache2 default

在 Ubuntu/Debian 上这是可行的:

sudo update-rc.d apache2 defaults

在 Red Hat Linux/Fedora/CentOS 上,稍微谷歌一下就会显示以下内容:

chkconfig --add httpd

不同发行版略有不同,但思路通常相同。基本上,所有这些命令都会从 创建一个符号链接,/etc/init.d/指向 中相应的运行级别文件夹/etc/

答案2

以下是我最终使用的方法。假设您是 root 用户。

  1. vi /etc/init.d/apache2(编辑如下)
  2. chmod 755 /etc/init.d/apache2
  3. chkconfig——添加apache2
  4. chkconfig --list apache2(验证其是否有效)

/etc/init.d/apache2 的内容:

/bin/bash #!/bin/bash
#
# apache2 Apache HTTP 服务器的启动脚本
#
# chkconfig:3 85 15
# 描述:Apache 是一个万维网服务器。它用于为 \
# HTML 文件和 CGI​​。

在 /usr/local/apache2/bin/apachectl $@

您可以通过运行 /sbin/runlevel 来获取运行级别,在我的情况下是 3。当然,您需要调用您的 apachectl 版本,在我的情况下是 /usr/local/apache2/bin/apachectl

感谢以下人员:

答案3

httpd检查目录中是否有init 脚本/etc/rc.d。如果有,则只需运行以下命令即可启用httpd服务在启动时启动。

chkconfig --level 345 httpd on

如果您没有 init 脚本,那么只需在文件后面附加/etc/rc.localapachectl -k start启动 Apache 的命令)。

答案4

这取决于你的 Linux 版本。假设文件 /etc/init.d/apache2 已创建,请尝试:

chkconfig -a apache2

或者

update-rc.d apache2 defaults

其中一个应该可以工作。

相关内容