如何通过Apache配置优化网站速度
导读:Apache网站速度优化实操指南 一 核心网络与连接优化 启用持久连接 KeepAlive,复用 TCP 连接,显著降低握手开销:KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout...
Apache网站速度优化实操指南
一 核心网络与连接优化
- 启用持久连接 KeepAlive,复用 TCP 连接,显著降低握手开销:
KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 - 启用并优先使用 HTTP/2,获得多路复用、头部压缩等特性(需 TLS):
- 模块加载(示例):
LoadModule http2_module modules/mod_http2.so - 在 443 虚拟主机启用:
SSLEngine on后添加Protocols h2 http/1.1
- 模块加载(示例):
- 压缩传输启用 mod_deflate,减小响应体积(注意 CPU 权衡):
< IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json DeflateCompressionLevel 6 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|pdf)$ no-gzip dont-vary < /IfModule> - 验证要点:响应头出现 Content-Encoding: gzip;使用 HTTP/2 时浏览器开发者工具 Protocol 列显示 h2。
二 缓存策略分层落地
- 浏览器端强缓存(推荐用 mod_expires 设置 Expires/Cache-Control):
< IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType text/html "access plus 1 hour" < /IfModule> - 反向代理/网关层缓存(按需启用 mod_cache_disk):
< IfModule mod_cache.c> < IfModule mod_cache_disk.c> CacheEnable disk / CacheRoot "/var/cache/apache2/mod_cache_disk" CacheDirLevels 2 CacheDirLength 1 CacheDefaultExpire 3600 CacheIgnoreHeaders Set-Cookie CacheIgnoreNoLastMod On < /IfModule> < /IfModule> - 建议:静态资源走长缓存(如 1 年),并在文件名或查询串中加入 内容哈希 解决强缓存更新问题;动态内容按业务设置 Cache-Control。
三 MPM并发模型选择与调优
- 选择建议:
- prefork:兼容性好(如非线程安全 PHP),但内存占用高。
- worker/event:更高并发、更低内存占用;高并发优先 event。
- 示例(以 prefork 为例,数值需结合内存与压测调整):
< IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 256 MaxRequestWorkers 256 MaxConnectionsPerChild 250 < /IfModule> - 调优思路:在 CPU/内存/网络允许前提下,逐步提升 MaxRequestWorkers,观察 CPU、内存、连接排队 等指标,避免过载。
四 静态资源与内容分发优化
- 目录浏览与符号链接:生产环境建议关闭目录列表,减少不必要的文件系统开销:
< Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Require all granted < /Directory> - 精简日志:降低日志级别(如 LogLevel warn)可减少 I/O 压力。
- 使用 CDN 分发静态资源(JS/CSS/图片/视频等),缩短用户与资源的网络距离,显著降低首屏时间。
五 验证与持续监控
- 功能验证:
- 压缩:响应头 Content-Encoding: gzip
- HTTP/2:浏览器 Network 面板 Protocol 为 h2
- 缓存:响应头 Cache-Control / Expires 如预期
- 性能压测与调优:
- 使用 Apache Bench(ab)、WebPageTest 做基线测试与回归
- 持续观察 access.log / error.log 与系统资源(CPU、内存、连接数)
- 每次只变更少量参数,配合灰度/低峰时段验证,逐步找到最优配置
- 安全提示:修改配置前备份;变更后先在测试环境验证,再滚动发布到生产
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何通过Apache配置优化网站速度
本文地址: https://pptw.com/jishu/762404.html
