让 NGINX 提供 .gz 压缩资源文件

发布于 2024-11-27 19:44:34 字数 125 浏览 0 评论 0原文

Rails 3.1 有一个方便的系统,可以将文件压缩为 .gz 文件。然而,我所做的是将使用 asset:precompile 创建的所有资源文件移动到静态网络服务器。这一切都有效,但我怎样才能让 nginx 正常提供 .gz 文件呢?

Rails 3.1 has a convenient system which can compress files into .gz files. However, instead what I've done is I've moved all the asset files that are created with assets:precompile to a static webserver. This all works, but how can I get nginx to serve the .gz files normally?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独﹏钓一江月 2024-12-04 19:44:34

1)确保你有 Nginx > 1.2.x(正确的标头修改)并使用 --with-http_gzip_static_module 选项进行编译

2) 启用此选项 gzip on (使用 gzip 标头为后端响应提供服务)

3) 使用gzip_static on设置资产位置
(直接提供 all.css.gz、all.js.gz 文件)

4) 防止资产的 etag 生成和最后修改计算

5) 打开右侧缓存控制以缓存所提供的 SSL静态资产,
除非浏览器关闭后它们就会过期,否则

  location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ {
      gzip_static on;
      expires     max;
      add_header  Cache-Control public;
      add_header  Last-Modified "";
      add_header  ETag "";
  }

如果您想获得完整的 Nginx 配置,您可以在 Github 上查看此要点

open_file_cache 帮助您缓存:打开的文件描述符、它们的大小、修改时间和目录查找,这对于文件系统的高负载很有帮助。

更新:如果您生活在边缘,请打开 SPDY 来增强 SSL 连接。

1) ensure you have Nginx > 1.2.x (to proper headers modifications) and compile with --with-http_gzip_static_module option

2) Enable this option gzip on (to serve back-end response with gzip header)

3) Setup assets location with gzip_static on
(to serve all.css.gz, all.js.gz files directly)

4) Prevent of etag generation and last-modify calculation for assets

5) Turn on the right Cache-control to cache SSL served static assets,
unless they will be expired once browser is closed

  location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ {
      gzip_static on;
      expires     max;
      add_header  Cache-Control public;
      add_header  Last-Modified "";
      add_header  ETag "";
  }

if you would like to get full Nginx configuration, you can see this gist on Github.

open_file_cache helps you to cache: open file descriptors, their sizes, modification times and directory lookups, which is helpful for high load on the file system.

UPDATE: If you are living on the edge, turn on the SPDY to boost the SSL connection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文