乐于分享
好东西不私藏

Linux 生产级定制:Httpd 源码编译安装完整实战

Linux 生产级定制:Httpd 源码编译安装完整实战

技术弄巷

读完仅需

5
分钟

记得星标公众号

前言

在企业 Web 服务部署中,源码编译安装 Httpd是实现高度定制化、功能按需开启、性能最优的标准方案。相比 YUM 安装,源码方式可自由选择版本、启用指定模块、指定安装路径,并适配高并发、SSL、重写、CGI 等生产需求。

本文基于 apr + apr-util + httpd完整依赖链,提供可直接复制执行的编译流程,涵盖安装、启动、自启动、环境变量配置,适合运维人员搭建标准化 Web 环境。

一、编译安装 APR(Httpd 基础依赖)

tar xf apr-1.5.2.tar.gzcd apr-1.5.2./configure --prefix=/usr/local/aprmake && make install

二、编译安装 APR-util

tar xf apr-util-1.5.4.tar.gzcd apr-util-1.5.4./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmake && make install

三、编译安装 Httpd 2.4.12(生产常用配置)

tar xf httpd-2.4.12.tar.gzcd httpd-2.4.12./configure --prefix=/usr/local/httpd24 \--enable-so \--enable-rewrite \--enable-ssl \--enable-cgi \--enable-cgid \--enable-modules=most \--enable-mods-shared-most \--enable-mpm-shared=all \--with-mpm=event \--with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-utilmake && make install

核心功能说明

  • 支持动态模块、伪静态、SSL 加密
  • 启用 CGI 动态程序解析
  • 使用 event 高并发模型
  • 绝大部分模块以动态方式加载

四、Httpd 服务启动与管理

1. 启动服务

/usr/local/httpd24/bin/httpd -k start

2. 配置开机自启动

echo"/usr/local/httpd24/bin/httpd -k start" >> /etc/rc.d/rc.localchmod a+x /etc/rc.d/rc.local

五、源码安装 Httpd 目录结构

  • 命令工具:/usr/local/httpd24/bin/
  • 主配置文件:/usr/local/httpd24/conf/httpd.conf
  • 子配置文件:/usr/local/httpd24/conf/extra/*.conf
  • 默认网页根目录:/usr/local/httpd24/htdocs

六、配置全局命令环境变量

vim /etc/profileexport PATH=$PATH:/usr/local/httpd24/binsource /etc/profile

配置后可直接使用 httpd命令。


注意事项

  • 编译前确保系统已安装 gcc、make、openssl-devel 等基础编译工具。
  • apr 与 apr-util 版本需与 httpd 版本匹配,避免编译失败。
  • 执行 configure 时路径必须正确,否则 make 会报错。
  • 编译后如需修改配置,直接编辑 /usr/local/httpd24/conf/httpd.conf
  • 启用 80 端口前需关闭防火墙或放行端口,避免启动失败。
  • 开机自启动依赖 rc.local,必须确保有执行权限。
  • 生产环境建议先在测试环境编译验证,再上线使用。

核心要点总结

  1. 源码安装可高度定制Httpd 功能与路径,适合生产环境。
  2. 必须先安装 apr、apr-util依赖,再编译 httpd。
  3. ./configure
    用于指定路径与开启模块,make && make install完成编译安装。
  4. 启动命令为 httpd -k start,可配置 rc.local 实现开机自启。
  5. 网页目录、配置文件、命令工具均在指定安装目录内,结构清晰。
  6. 配置环境变量后,可全局直接调用 httpd 命令,运维更便捷。

结尾互动

源码编译是 Linux 运维高阶必备技能,让你完全掌控 Web 服务的版本、模块与性能。

如果这篇完整可落地的 Httpd 源码教程对你有帮助,欢迎点赞、在看、转发给更多运维同行! 关注我,持续更新 Linux 服务部署、源码编译、高并发优化、自动化运维等硬核干货,一起做专业、稳定、高效的运维人!