源码编译安装httpd 2.4,提供系统服务管理脚本并测试(两种方法实现)
-
下载 httpd 2.4 源码:
wget https://dlcdn.apache.org/httpd/httpd-2.4.x.tar.gztar -zxvf httpd-2.4.x.tar.gzcd httpd-2.4.x
-
配置、编译和安装:
./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --enable-cgi makesudo make install
实现方法一:使用 Systemd
-
创建 Systemd 服务文件
/etc/systemd/system/httpd.service
:[Unit] Description=The Apache HTTP Server After=network.target[Service] Type=forking ExecStart=/usr/local/apache2/bin/apachectl start ExecReload=/usr/local/apache2/bin/apachectl graceful ExecStop=/usr/local/apache2/bin/apachectl stop PrivateTmp=true[Install] WantedBy=multi-user.target
-
重新加载 Systemd 守护进程:
sudo systemctl daemon-reload
-
启动 httpd 服务:
sudo systemctl start httpd
-
测试服务:
curl http://localhost
-
查看服务状态:
sudo systemctl status httpd
使用方法二使用 init 脚本
-
创建
/etc/init.d/httpd
脚本:#!/bin/sh ### BEGIN INIT INFO # Provides: httpd # Required-Start: $local_fs $network # Required-Stop: $local_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Apache HTTP Server # Description: Apache HTTP Server ### END INIT INFOHTTPD_PATH=/usr/local/apache2/bin/apachectlcase "$1" instart)$HTTPD_PATH start;;stop)$HTTPD_PATH stop;;restart)$HTTPD_PATH restart;;status)$HTTPD_PATH status;;*)echo "Usage: $0 {start|stop|restart|status}"exit 1;; esac exit 0
-
设置脚本权限:
sudo chmod +x /etc/init.d/httpd
-
启动 httpd 服务:
sudo /etc/init.d/httpd start
-
测试服务:
curl http://localhost
-
查看服务状态:
sudo /etc/init.d/httpd status