启用--with-http_gzip_static_module需在./configure时显式添加,依赖zlib开发包,启用后须在配置中设gzip_static on并提供同名.gz文件,通过nginx -V | grep gzip_static和curl验证生效。

要启用 --with-http_gzip_static_module,必须在运行 ./configure 时显式加入该参数,它不会默认开启。这个模块的作用是让 Nginx 直接提供已预先压缩好的 .gz 文件(比如 style.css.gz),而不是实时压缩,从而降低 CPU 开销、提升响应速度。
前置依赖不能少
该模块依赖 zlib 库,编译前需确保系统已安装开发包:
- Ubuntu/Debian:
sudo apt install zlib1g-dev - CentOS/RHEL:
sudo yum install zlib-devel或sudo dnf install zlib-devel
若使用自定义路径的 zlib 源码,可加 --with-zlib=/path/to/zlib 指定。
配置时正确写法
在 ./configure 命令中直接添加参数即可,无需额外开关或配置项:
-
--with-http_gzip_static_module(启用模块) - 常见搭配:
--with-http_ssl_module --with-http_v2_module --with-pcre等按需组合
示例命令片段:
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--with-http_gzip_static_module \
--with-http_ssl_module \
--with-pcre
启用后还需在配置文件里配对
仅编译进模块还不够,Nginx 配置中要明确开启 gzip_static 行为:
- 在
http、server或location块中添加:gzip_static on; - 确保对应静态资源(如
/static/js/app.js)存在同名.gz文件(/static/js/app.js.gz) - 建议同时设置
gzip_vary on;,让代理和浏览器识别压缩版本
验证是否生效
编译安装完成后,执行:
-
/usr/local/nginx/sbin/nginx -V 2>&1 | grep gzip_static—— 若输出含该模块名,说明已成功编译进内核 - 用 curl 测试:
curl -H "Accept-Encoding: gzip" -I http://localhost/style.css,响应头应含Content-Encoding: gzip,且状态码为 200(非 206 或 404)


















