云服务器 ECS Linux 编译安装 Apache 添加 chkconfig 配置自启动,如何实现编译安装的 Apache 服务,随系统自动启动?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Linux系统中,如果您希望编译安装的Apache服务能够随系统自动启动,可以使用chkconfig工具来添加系统服务并设置其启动级别。以下是实现这一功能的步骤:
首先,您需要为Apache创建一个启动/停止脚本。这个脚本通常放在/etc/init.d/目录下。假设您的Apache安装在/usr/local/apache2,您可以创建一个名为httpd的脚本(或根据您的习惯命名,如apache)。
sudo vi /etc/init.d/httpd
在该文件中,输入以下内容(请根据实际情况调整路径):
#!/bin/bash
# chkconfig: 345 85 15
# description: Apache HTTP Server
# Location of the Apache binary
APACHE_BIN=/usr/local/apache2/bin/apachectl
case "$1" in
start)
$APACHE_BIN start
;;
stop)
$APACHE_BIN stop
;;
restart)
$APACHE_BIN restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
保存并退出编辑器。
sudo chmod +x /etc/init.d/httpd
使用chkconfig命令将此服务添加到系统服务列表,并设置其在运行级别3、4、5上自动启动。
sudo chkconfig --add httpd
sudo chkconfig httpd on
检查Apache服务是否已设置为自启动:
sudo chkconfig --list httpd
如果一切设置正确,您应该能看到类似下面的输出,显示在哪些运行级别上Apache被设置为开启。
httpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
完成以上步骤后,Apache服务就会在系统启动时自动启动了。如果您的系统使用的是Systemd而不是传统的SysV init(例如CentOS 7及以上版本),则需要创建.service文件并使用systemctl命令进行配置,具体方法会有所不同。