温馨提示×

ubuntu apache2如何开启Gzip

小樊
34
2026-08-16 20:21:17
栏目: 智能运维

Ubuntu + Apache2 下开启 Gzip(压缩),通常是通过 mod_deflate 模块实现的。下面是完整操作步骤:


一、启用 Gzip 模块

Apache2 使用 mod_deflate 来处理 Gzip 压缩。

sudo a2enmod deflate
sudo systemctl restart apache2

二、配置 Gzip(推荐方式)

方法一:在 Apache 配置文件中启用(推荐)

编辑配置文件(任选其一):

sudo nano /etc/apache2/apache2.conf

或在 /etc/apache2/sites-enabled/ 中编辑你的站点配置:

sudo nano /etc/apache2/sites-enabled/000-default.conf

<VirtualHost> 或全局配置中加入:

<IfModule mod_deflate.c>
    # 启用压缩
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/json
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/font-woff
    AddOutputFilterByType DEFLATE application/font-woff2
    AddOutputFilterByType DEFLATE image/svg+xml

    # 忽略部分浏览器
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # 不要压缩已压缩的文件
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|zip|gz|tar|bz2|rar|7z|mp3|mp4|flv|mov|avi|pdf)$ no-gzip dont-vary
</IfModule>

保存后重启 Apache:

sudo systemctl restart apache2

方法二:使用独立配置文件(更规范)

sudo nano /etc/apache2/conf-available/deflate.conf

写入相同内容,然后启用:

sudo a2enconf deflate
sudo systemctl restart apache2

三、验证 Gzip 是否生效

方法 1:curl 测试

curl -H "Accept-Encoding: gzip" -I http://your-domain.com

如果看到:

Content-Encoding: gzip

说明已成功开启 ✅


方法 2:浏览器 DevTools

  1. 打开浏览器 → F12
  2. Network(网络)
  3. 刷新页面
  4. 查看响应头中是否有:
Content-Encoding: gzip

四、常见问题

1️⃣ Gzip 没生效?

  • 检查模块是否启用:
apache2ctl -M | grep deflate
  • 确认配置在 <VirtualHost>
  • 清除浏览器缓存

2️⃣ 是否需要压缩图片?

不推荐
图片(jpg/png/webp)通常已压缩,再次 Gzip 反而不划算。


3️⃣ Ubuntu 版本差异

  • Ubuntu 18.04 / 20.04 / 22.04 / 24.04 配置方式一致
  • Apache2 默认已支持 mod_deflate

五、可选:Brotli 压缩(更高效)

如果你希望比 Gzip 更好的压缩效果,可以安装 mod_brotli

sudo apt install apache2 mod_brotli
sudo a2enmod brotli
sudo systemctl restart apache2

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • Apache2 版本
  • 是否使用了 HTTPS / CDN / Nginx 反代

我可以帮你给出更精确的配置方案 ✅

0