CentOS 7 安装 httpd-2.4.1.tar.gz 详细步骤(源码编译、配置、启动)

一、准备编译环境

Apache 2.4.1 是从源码编译安装的,先把编译器和基础工具装好:

复制代码
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel

二、下载并解压

安装包下载:https://pan.quark.cn/s/14aa7efc2a7b

复制代码
tar -zxvf httpd-2.4.1.tar.gz
cd httpd-2.4.1

三、配置编译参数

进入目录后先配置,指定安装位置和常用模块:

复制代码
./configure \
--prefix=/usr/local/apache2 \
--enable-so \
--enable-rewrite \
--enable-ssl \
--with-mpm=prefork
  • --prefix:安装目录

  • --enable-so:支持动态加载模块

  • --enable-rewrite:开启重写规则

  • --enable-ssl:支持 HTTPS

  • --with-mpm=prefork:使用 prefork 模式(老版本常用)

如果缺依赖,会明确提示缺什么包,按提示装即可。

四、编译并安装

配置没问题就开始编译:

复制代码
make
sudo make install

没有报错就说明安装完成。

五、启动 Apache

进入安装目录的 bin 目录启动:

复制代码
cd /usr/local/apache2/bin
sudo ./apachectl start

六、验证是否成功

打开浏览器访问:

复制代码
http://服务器IP

看到 "It works!" 就是成功了。

也可以在服务器上用 curl 测试:

复制代码
curl http://localhost

七、常用命令

  • 启动:

    sudo /usr/local/apache2/bin/apachectl start

  • 停止:

    sudo /usr/local/apache2/bin/apachectl stop

  • 重启:

    sudo /usr/local/apache2/bin/apachectl restart

  • 检查配置:

    sudo /usr/local/apache2/bin/apachectl configtest

八、常见问题

  1. 80 端口被占用​

    修改 conf/httpd.conf里的:

    复制代码
    Listen 8080

    然后重启。

  2. **启动时报 "Address already in use"**​

    用:

    复制代码
    netstat -tlnp | grep 80

    找到占用进程并停掉。

  3. 远程访问不了​

    放行防火墙端口:

    复制代码
    sudo firewall-cmd --add-port=80/tcp --permanent
    sudo firewall-cmd --reload

这样就完成了 Apache httpd-2.4.1 的源码安装,适合老项目或需要特定版本的环境。

相关推荐
古法老登瞎折腾3 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
琥珀.3 小时前
mysql中json数组转列表查询
linux·运维·服务器
dawnsky.liu4 小时前
在 RHEL 中使用 goose 实现远程主机管理
linux·运维·ai
Linux运维技术栈6 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
云上先途16 小时前
企业 AI 服务部署周期多久,会不会影响原有业务运转?
大数据·运维·人工智能
执伞人ONLY7 小时前
AI知识库自动化知识加工没做对,人工整理永远追不上知识产生
运维·人工智能·自动化
slongzhang_7 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
叼烟扛炮7 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT8 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器
Escalating_xu8 小时前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络