nginx-配置gzip压缩格式-压缩文件-提高传输效率

1.基本参数设置

在 Nginx 中,你可以配置静态文件的访问。静态文件通常包括如图片、CSS、JavaScript 文件等。开启 Nginx 的静态文件服务是非常简单的,你需要确保你的 Nginx 配置文件中已经正确地设置了静态文件的目录。

以下是一个基本的示例来展示如何配置 Nginx 以提供静态文件服务:

  1. 打开 Nginx 的配置文件,通常是 /etc/nginx/nginx.conf 或者 /etc/nginx/sites-available/default,这取决于你的安装和操作系统。

  2. server 块内,定义一个 location 块来指定静态文件的位置。例如:

server {
    listen 80;
    server_name localhost;

    # 设置根目录为 /data/html,你可以根据实际情况修改为你的静态文件所在路径
    root /data/html;

    # 对于直接请求文件或目录的处理
    location / {
        index index.html index.htm; # 如果请求的 URI 是一个目录,则返回这个目录下的 index.html 或 index.htm
        autoindex on; # 如果请求的目录下没有 index.html 或 index.htm,则列出该目录的内容
    }

    # 可选的额外配置,如日志格式、错误页面等
}
  1. 完成配置后,检查配置文件是否有语法错误:

    nginx -t
    

    如果一切正常,Nginx 将会告诉你配置文件是有效的。

  2. 如果配置文件正确无误,那么重启 Nginx 使新的配置生效:

    sudo service nginx restart
    

2.压缩静态资源提高传输效率

gzip_static配置优先级高于gzip。
开启nginx_static后,对于任何文件都会先查找是否有对应的gz文件。

为了提高网站性能和加载速度,可以通过配置 Nginx 来启用对静态资源的压缩功能。Nginx 自身支持 gzip 压缩,可以减少传输的数据量,从而加快网页加载速度。下面是启用 gzip 压缩的基本配置示例:

  1. 打开 Nginx 的配置文件,通常是 /etc/nginx/nginx.conf 或者 /etc/nginx/sites-available/default

  2. http 或者 server 块中添加 gzip 相关配置。下面是一个例子:

http {
    ...
    # 启用 gzip 压缩
    gzip on; # 开启gzip压缩功能

    # 压缩级别(1-9),数值越大压缩比越高,但是CPU消耗也越大
    gzip_comp_level 6;

    # 压缩前的最小文件大小
    gzip_min_length 1k;

    # 允许压缩的响应类型
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/json;

    # 不缓存未压缩的数据
    gzip_vary on;
}

server {
    ...
    # 如果需要针对特定location启用,也可以在这里设置
    location / {
        ...
        gzip on;
        # 重复 http 区块中的配置或进行微调
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/json;
    }
}
  1. 保存并关闭配置文件后,需要验证配置是否正确:

    nginx -t
    

    如果配置正确,Nginx 将会报告测试成功。

  2. 最后,重启 Nginx 使新配置生效:

    sudo service nginx restart
    

请注意,gzip 压缩功能可能会增加服务器的 CPU 使用率,因此在高负载环境下需要谨慎使用。另外,现代浏览器普遍支持 gzip 压缩,但是仍然需要确保客户端支持此功能。

如果你的站点有大量的静态资源,并且这些资源经常被请求,考虑使用预压缩(例如使用 .gz 文件)以及 HTTP/2 的 Server Push 功能来进一步优化性能。同时,可以考虑使用 CDN 来缓存和分发这些资源,减少源站的压力。

3.设置范例

	# 主要是下方的gizp配置哦,直接复制粘贴就可以使用啦,亲测有效哦
    gzip on; # 开启gzip压缩
    gzip_min_length 4k; # 小于4k的文件不会被压缩,大于4k的文件才会去压缩
    gzip_buffers 16 8k; # 处理请求压缩的缓冲区数量和大小,比如8k为单位申请16倍内存空间;使用默认即可,不用修改
    gzip_http_version 1.1; # 早期版本http不支持,指定默认兼容,不用修改
    gzip_comp_level 2; # gzip 压缩级别,1-9,理论上数字越大压缩的越好,也越占用CPU时间。实际上超过2的再压缩,只能压缩一点点了,但是cpu确是有点浪费。因为2就够用了
    # 压缩的文件类型 MIME类型
    gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/x-woff font/ttf;
    gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding,一般情况下建议开启

4.总结

zip压缩确实在vue这种富客户端的程序中,能够非常有效的解决网站资源的传输压力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值