在 CentOS 上给 Apache 增加模块,通常有两种方式:
1️⃣ 用系统包管理器安装(推荐,简单稳定)
2️⃣ 手动编译模块(高级场景)
下面按常见情况说明。
CentOS 常见有两种 Apache:
查看版本和 MPM:
httpd -v
httpd -V | grep -i mpm
yum search mod_
常见模块示例:
mod_sslmod_rewrite(通常已内置)mod_proxymod_security例如安装 mod_ssl:
yum install mod_ssl -y
CentOS 的 httpd 模块一般 自动加载
可检查配置文件:
ls /etc/httpd/conf.modules.d/
例如:
00-base.conf
00-ssl.conf
systemctl restart httpd
适用于 yum 没有的模块。
yum groupinstall "Development Tools" -y
yum install httpd-devel -y
假设有 mod_example.c:
apxs -c -i -a mod_example.c
参数说明:
-c:编译-i:安装到模块目录-a:自动在配置中加载grep example /etc/httpd/conf/httpd.conf
应看到:
LoadModule example_module modules/mod_example.so
systemctl restart httpd
httpd -M | grep rewrite
若无:
yum install mod_rewrite
httpd -M
或:
apachectl -M
❌ 模块不生效
✅ 检查 LoadModule 是否被注释
❌ 启动报错
✅ 查看日志:
journalctl -xe
tail /var/log/httpd/error_log
如果你能告诉我:
我可以直接给你一步一步的命令。