我已经在我的 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 用户。
- vi /etc/init.d/apache2(编辑如下)
- chmod 755 /etc/init.d/apache2
- chkconfig——添加apache2
- 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.local
(apachectl -k start
启动 Apache 的命令)。
答案4
这取决于你的 Linux 版本。假设文件 /etc/init.d/apache2 已创建,请尝试:
chkconfig -a apache2
或者
update-rc.d apache2 defaults
其中一个应该可以工作。