【问题标题】:nginx avoid zipping imagesnginx 避免压缩图片
【发布时间】:2014-01-30 02:19:13
【问题描述】:

我已经设置了 nginx 来提供文件的 gzip 版本(使用脚本 gzip)。我不希望对图像(png 和其他)进行 gzip 压缩。所以我用过

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

仍然 nginx 正在寻找 strace 中看到的压缩版本。

open("<path>/static/assets/<path>/up.png.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory). 

我使用 gzip_types 有什么问题吗?

【问题讨论】:

  • 这只是显示 nginx 打开 .gz 文件以读取和发送,这就是你想要的,对吧?你的 gzip_types 看起来不错。在 curl 等中执行请求,并查看 nginx 为文件请求返回的标头。 (不要相信你的浏览器,还有一些杀毒产品 ungzip 也可以检查)
  • 消息说“没有这样的文件或目录”,这是正确的,因为文件不存在。我没有压缩图像文件。但我不希望 nginx 搜索 gzip 版本的图像文件,然后回退到非 gzip 文件。这是一个很小的开销,对吧?我希望 nginx 查找某些类型(css、java 脚本...)的压缩版本,并立即使用原始文件获取图像。
  • 所以您请求 up.png 并且您看到 nginx 打开“up.png.gz”?你在nginx中打开缓存了吗? >>检查 nginx 配置中的 gzip_static。
  • 我确实打开了 gzip_static。但是如果我指定 gzip_types 并省略 png 和其他图像文件,nginx 不会自动避免查找它们吗?还是说 gzip_types 指令不适用于静态文件?
  • 此链接提供了答案 - [参考] [1]:stackoverflow.com/questions/3972675/…

标签: nginx gzip


【解决方案1】:

gzip_static 模块告诉 nginx 为它通常提供的任何文件寻找一个预压缩文件 (.gz)。

http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html

此模块独立于 gzip 模块

http://nginx.org/en/docs/http/ngx_http_gzip_module.html

所以 gzip_types 不适用于它。我看不到有选择地关闭它的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多