<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[nginx zstd压缩]]></title><description><![CDATA[<p dir="auto">Zstd（Zstandard）， Facebook（Meta）开发的开源无损数据压缩算法，2016 年发布， “高性能+高压缩比”的平衡——既比传统压缩算法（如 Gzip、Deflate）压缩更快、压缩率更高，也比同级别高压缩比算法（如 LZMA）速度更快，同时支持可配置的压缩级别（1-22，级别越高压缩率越高但速度越慢），还提供“快速模式”（级别 -1 到 -13）满足低延迟场景。</p>
<p dir="auto">测试环境：Debain 13 Nginx1.31.0</p>
<h3>I 编译最新的Zstd库</h3>
<pre><code class="language-bash"># 安装编译工具
sudo apt install build-essential git libpcre3-dev zlib1g-dev libssl-dev debhelper
sudo apt remove libzstd-dev libzstd1

# 1. 进入源码存放目录
cd /usr/src

# 2. 克隆 Facebook Zstd 官方主分支源码
sudo git clone --depth 1 https://github.com/facebook/zstd.git
cd zstd

# 3. 编译并安装（核心库编译非常快）
sudo make -j$(nproc)
sudo make install

# 4. 刷新系统的动态链接库缓存，让系统认出刚刚安装的最新 libzstd.so
sudo ldconfig
</code></pre>
<h3>II 编译zstd-nginx模块</h3>
<pre><code class="language-bash"># 1. 下载并解压 Nginx 1.31.0 官方源码
sudo wget http://nginx.org/download/nginx-1.31.0.tar.gz
sudo tar -zxf nginx-1.31.0.tar.gz

# 2. 克隆 zstd-nginx-module 源码
sudo git clone https://github.com/tokers/zstd-nginx-module.git

# 3. 进入 Nginx 源码目录
cd nginx-1.31.0

# 4. 配置编译参数：通过包含路径，强行让它关联到我们刚才安装在 /usr/local/include 的最新 Zstd 头文件
sudo ./configure --with-compat \
  --add-dynamic-module=/usr/src/zstd-nginx-module \
  --with-cc-opt="-I/usr/local/include" \
  --with-ld-opt="-L/usr/local/lib -Wl,-rpath,/usr/local/lib"

# 5. 仅编译模块
sudo make modules
</code></pre>
<h3>III 载入zstd模块</h3>
<pre><code class="language-bash"># 1. 覆盖复制到 Nginx 模块目录
sudo cp objs/ngx_http_zstd_filter_module.so /usr/lib/nginx/modules/
sudo cp objs/ngx_http_zstd_static_module.so /usr/lib/nginx/modules/
</code></pre>
<h1>2. 赋予标准权限</h1>
<p dir="auto">sudo chmod 644 /usr/lib/nginx/modules/ngx_http_zstd_*.so</p>
<p dir="auto">打开 /etc/nginx/nginx.conf，在最顶部添加加载指令：</p>
<pre><code class="language-nginx"># 引入 Zstd 动态过滤和静态加载模块
load_module modules/ngx_http_zstd_filter_module.so;
load_module modules/ngx_http_zstd_static_module.so;

user  www-data;
worker_processes  auto;
</code></pre>
<h3>IV 修改网页配置</h3>
<p dir="auto">以Flarum 为例</p>
<pre><code class="language-nginx">    zstd on;
    zstd_comp_level 3;       # 动态压缩推荐级别 3（1-5 之间性能与压缩率平衡最佳，最大为 22）
    zstd_min_length 256;     # 小于 256 字节的文件不压缩
    zstd_buffers 16 8k;
    
    # 允许 Nginx 直接读取预先压缩好的 .zst 静态文件（如果存在）
    zstd_static on;

    # 精准针对 Flarum 的 API、JS 和各种文本格式进行 Zstd 压缩
    zstd_types
        text/plain
        text/css
        text/javascript
        application/javascript
        application/json
        application/xml
        application/rss+xml
        application/atom+xml
        image/svg+xml
        image/x-icon;
</code></pre>
<pre><code class="language-bash">#检查配置文件，重启Nginx
nginx -t

systemctl reload nginx
</code></pre>
<p dir="auto">在线检测：<a href="https://zstd.wcode.net" rel="nofollow ugc">https://zstd.wcode.net</a></p>
<p dir="auto">按下 F12 打开开发者工具，前往 Network（网络） 面板。<br />
Content-Encoding: zstd<br />
Vary: Accept-Encoding</p>
<p dir="auto">表明 Nginx 1.31.0 已经成功部署了目前业界公认在动态生成场景下处理效率极高、对 CPU 压迫极小的 Zstd 压缩引擎！</p>
]]></description><link>https://blog.clouldon.com/topic/23/nginx-zstd压缩</link><generator>RSS for Node</generator><lastBuildDate>Thu, 11 Jun 2026 10:41:23 GMT</lastBuildDate><atom:link href="https://blog.clouldon.com/topic/23.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 May 2026 12:00:09 GMT</pubDate><ttl>60</ttl></channel></rss>