首页主机资讯如何通过Apache配置优化网站速度

如何通过Apache配置优化网站速度

时间2025-12-03 15:10:04发布访客分类主机资讯浏览1436
导读: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
如何利用Apache2配置提高网站安全性 PyTorch在Ubuntu上的部署流程

游客 回复需填写必要信息