温馨提示×

centos怎么优化apache

小樊
45
2026-09-08 23:55:40
栏目: 智能运维

在 CentOS 上优化 Apache(通常是 httpd),可以从系统层面、Apache 配置、模块管理、缓存与安全几个方面来做。下面是一套实用、可落地的优化方案,适用于 CentOS 7 / 8 / Stream。


一、系统层面优化(基础)

1. 调整文件描述符限制

Apache 高并发需要更多 fd:

ulimit -n 65535

永久生效:

vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535

2. 内核参数优化(/etc/sysctl.conf)

vi /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

执行:

sysctl -p

二、Apache 工作模式选择(重要)

查看当前 MPM

httpd -V | grep -i mpm

常见模式:

  • prefork(稳定,耗内存)
  • worker(线程,中等并发)
  • event(推荐)(高并发、异步)

切换为 event(CentOS 默认一般是 event)

vi /etc/httpd/conf.modules.d/00-mpm.conf

确保:

LoadModule mpm_event_module modules/mod_mpm_event.so

三、Apache 核心配置优化

1. 主配置文件

vi /etc/httpd/conf/httpd.conf

关闭不需要的模块(提速)

# 示例(视情况关闭)
# LoadModule status_module modules/mod_status.so
# LoadModule autoindex_module modules/mod_autoindex.so

超时与连接

Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

2. event MPM 参数优化

vi /etc/httpd/conf.modules.d/00-mpm.conf
<IfModule mpm_event_module>
    StartServers             4
    MinSpareThreads         25
    MaxSpareThreads         75
    ThreadLimit             64
    ThreadsPerChild         25
    MaxRequestWorkers      400
    MaxConnectionsPerChild 10000
</IfModule>

根据内存调整:

  • 2G 内存:MaxRequestWorkers 150–200
  • 4G 内存:300–500

四、启用缓存与压缩(性能提升明显)

1. 开启 Gzip 压缩

vi /etc/httpd/conf/httpd.conf
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>

2. 浏览器缓存

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 30 days"
    ExpiresByType text/css "access plus 7 days"
    ExpiresByType application/javascript "access plus 7 days"
</IfModule>

五、使用 mod_cache(可选)

yum install mod_cache -y
<IfModule mod_cache.c>
    CacheEnable disk /
    CacheRoot /var/cache/httpd
</IfModule>

六、日志优化(减少 IO)

CustomLog logs/access_log combined
# 高并发时
# CustomLog logs/access_log common

关闭不必要日志:

# ErrorLog logs/error_log

七、安全与稳定性

1. 隐藏 Apache 版本

ServerTokens Prod
ServerSignature Off

2. 禁用目录浏览

Options -Indexes

八、系统服务优化

systemctl enable httpd
systemctl restart httpd

九、监控与压测

查看状态

apachectl -S

压测

yum install httpd-tools -y
ab -n 1000 -c 100 http://localhost/

十、推荐组合(实战)

✅ CentOS + Apache(event) + PHP-FPM
✅ 静态资源走 Nginx / CDN
✅ Apache 只处理动态请求


如果你愿意,我可以:

  • ✅ 根据你 内存 / 并发量 给你一套精确配置
  • ✅ 针对 PHP / WordPress / Laravel 做专项优化
  • ✅ 对比 Apache vs Nginx

直接告诉我你的服务器配置和使用场景即可。

0 踩