为了提高网页的访问速度, 用尽了各种方法, 其中一种就是通过 nginx, 对资源文件进行压缩, 节约网络带宽。

博主博客

一、nginx 配置

CentOS 系统中, 配置文件位于 /etc/nginx/nginx.conf
添加下面代码即可

gzip on; # 开启gzip压缩
gzip_static on; # 开启 gzip 静态压缩
gzip_min_length 1k; # gizp压缩起点,文件大于1k才进行压缩
gzip_disable "msie6";
gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding
gzip_proxied any; # nginx做为反向代理时启用, 详细见官方文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_proxied
gzip_comp_level 6; # 压缩级别 数字越大压缩得越小 但是越耗性能 根据实际情况而定
gzip_buffers 16 8k; # 设置压缩所需要的缓冲区大小,以8k为单位,案例中则申请16*4k的缓冲区
gzip_http_version 1.1; #设置识别http协议版本号
gzip_types text/plain application/css text/css application/xml text/javascript application/javascript application/x-javascript; #压缩类型

完整代码

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name blog.uso6.com;
        # 上传文件大小的限制
        client_max_body_size 512m;
        root /usr/share/nginx/html;

        ssl_certificate "/etc/pki/nginx/cloudflare.com.pem";
        ssl_certificate_key "/etc/pki/nginx/private/cloudflare.com.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        gzip on; # 开启gzip压缩
        gzip_static on; # 开启 gzip 静态压缩
        gzip_min_length 1k; # gizp压缩起点,文件大于1k才进行压缩
        gzip_disable "msie6";
        gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding
        gzip_proxied any; # nginx做为反向代理时启用, 详细见官方文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_proxied
        gzip_comp_level 6; # 压缩级别 数字越大压缩得越小 但是越耗性能 根据实际情况而定
        gzip_buffers 16 8k; # 设置压缩所需要的缓冲区大小,以8k为单位,案例中则申请16*4k的缓冲区
        gzip_http_version 1.1; #设置识别http协议版本号
        gzip_types text/plain application/css text/css application/xml text/javascript application/javascript application/x-javascript; #压缩类型

        location / {
            proxy_pass http://127.0.0.1:8090; # 应用服务器 HTTP 地址
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header REMOTE-HOST $remote_addr;
            add_header X-Cache $upstream_cache_status;
            # Set Nginx Cache
            add_header Cache-Control no-cache;
        }

        error_page 404 /404.html;
        location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

二、重启 nginx

systemctl restart nginx