源码安装HTTPD 2.4 并提供系统服务管理脚本

一、通过 .service 文件管理

  1. 获取源码包
wget https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.gz

在这里插入图片描述

  1. 解压
tar zxf httpd-2.4.62.tar.gz
  1. 解决依赖
cd httpd-2.4.62/
./configure --prefix=/usr/local/apache
# 期间需要安装一系列依赖
dnf install apr-devel.x86_64 apr-util-devel.x86_64 gcc-plugin-devel.x86_64 pcre-devel.x86_64 pcre2-devel.x86_64 -y

在这里插入图片描述

  1. 编译
dnf install make -y
# 扩展:有些可能使用cmake
make
  1. 正式安装
make install
# 期间有些error,无需在意
  1. 编写 .service 服务文件

下图是官方文件(通过模仿构建个性化服务文件)

在这里插入图片描述注意:脚本内部涉及路径时,必须采用绝对路径!!!

cd /etc/systemd/system
vim httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target httpd-init.service

[Service]
# 若采用官方的notify,会导致服务无法启动成功
Type=forking
Environment=LANG=C
ExecStart=/usr/local/apache/bin/apachectl start
ExecReload=/usr/local/apache/bin/apachectl restart
Execstop=/usr/local/apache/bin/apachectl stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载服务单元文件
systemctl daemon-reload

  1. 测试
  • 能否启动?
  • 能否停止?
  • 停止后能否再次启动?
  • 启动后,是否均能正常使用?
  • 能否重启成功?
常用服务命令说明
systemctl start httpd启动服务
systemctl status httpd查看服务状态
systemctl restart httpd重启服务
systemctl stop httpd停止服务

服务启动成功时状态,见下图
服务启动成功时状态

测试内容:
1.在Windows浏览器访问服务器IP,即可看见默认页面或自定义页面
2.在服务器上使用curl http:/服务器IP,即可看见默认页面或自定义页面
curl访问3.查看端口是否开放(netstat -lnupt | grep 80)

二、类 init.d 脚本

前五个步骤均与(一)相同,在此不过多赘述

  1. 编写 init.d 脚本

只需要在官方的脚本中添加上两行内容即可

cd /etc/init.d/
cp apachectl /etc/init.d/httpd
# 注意:检查脚本是否有执行权限
vim /etc/init.d/httpd
# 只需要添加两行内容,这是服务脚本必不可少的内容
......
18 # chkconfig: 2345 70 15
19 # description: Apache is an HTTP(s) server
......
常用服务命令说明
chkconfig --add httpd添加成系统服务脚本
chkconfig httpd on设置开机自启动
systemctl daemon-reload重新加载服务单元文件等
  1. 测试

测试方法与(一)相同,也有其他测试方法,请自行研究
在这里插入图片描述

三、遇到的问题

  1. 源码安装中的依赖问题

源码安装过程中,执行命令./configure --prefix=/usr/local/apache时中断
原因是缺少部分依赖软件导致的
例如:
checking for APR… no
configure: error: APR not found. Please read the documentation.

# 在本地查找对应软件,注意安装的版本(一般选择带有devel的)
yum list | grep apr | grep devel
# 安装
dnf install apr-devel.x86_64 apr-util-devel.x86_64 -y
# 卸载
dnf remove apr-devel.x86_64 -y
# 另一种简单粗暴的方法(不推荐) 
yum install apr* 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值