优化CentOS上的Apache2服务器可从配置、系统、硬件及安全等方面入手,具体如下:
启用KeepAlive
在/etc/httpd/conf/httpd.conf
中设置:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
减少连接建立开销,提升并发性能。
调整MPM模块参数
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 1000
</IfModule>
mod_mpm_worker
,再配置线程参数。静态文件缓存
使用mod_expires
模块设置缓存时间:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType text/css "access plus 30 days"
</IfModule>
减少重复请求,降低服务器负载。
启用压缩
通过mod_deflate
压缩文本类文件:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>
减小传输数据量,提升加载速度。
禁用不必要的模块
通过注释或删除httpd.conf
中的LoadModule
指令,移除如mod_cgi
等不需要的模块,降低资源占用。
调整内核参数
修改/etc/sysctl.conf
,优化网络和内存性能:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.core.somaxconn = 65535
fs.file-max = 65536
执行sysctl -p
使配置生效。
优化文件系统
ext4
或XFS
文件系统,挂载时添加noatime
选项,减少磁盘I/O。增加硬件资源
限制IP访问
在配置文件中通过<Directory>
或<Location>
限制特定IP段访问,增强安全性。
启用SSL/TLS
使用mod_ssl
模块配置HTTPS,保护数据传输安全。
监控与日志管理
top
、htop
等工具实时监控服务器状态。logrotate
定期轮转日志,避免日志文件过大。mod_cache
和mod_proxy
缓存动态内容,减轻后端压力。HostnameLookups Off
,减少请求延迟。注意:修改配置后需重启Apache服务(systemctl restart httpd
),建议先在测试环境验证优化效果[1,2,3,4,5,6,7,8,9,10,11]。