前言
Nginx 使用 yum (Centos7) 在线安装方式无法开启 gzip 静态压缩,只能采用源码安装并开启 gzip 静态压缩(gzip_static)。
安装下载工具
yum install -y wget
安装编译工具以及库
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
下载Nginx、pcre 源码
# 以 pcre-8.45 为例
wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
# 解压
tar -xvf pcre-8.45.tar.gz
# 安装编译pcre
cd pcre-8.45 && ./configure
make && make install
# 以 nginx-1.22.0 为例
wget http://nginx.org/download/nginx-1.22.0.tar.gz
# 解压
tar -xvf nginx-1.22.0.tar.gz
# 安装编译nginx
# 安装目录指定 /usr/local/webserver/nginx
# --with-http_gzip_static_module gzip 静态压缩模块
cd nginx-1.22.0
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/pcre-8.45 --with-http_gzip_static_module
make && make install
# 查看是否安装成功
/usr/local/webserver/nginx/sbin/nginx -v
开启gzip压缩
找不到预压缩文件,进行动态压缩
gzip_static on;
gzip_http_version 1.1;
gzip_proxied expired no-cache no-store private auth;
gzip on;
gzip_min_length 1k;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
gzip_comp_level 4;
gzip_buffers 4 16k;
验证
上传带有gzip压缩后的前端源码。
nginx gzip静态压缩,源码中有gz格式的直接使用。
nginx gzip动态压缩,源码中没有gz格式且大于1K的,nginx动态压缩成gz格式发送给客户端。