我正在尝试通过提供GZipped资产来优化我的Rails 4应用,而不是提供常规编译后的资产。 GZip压缩在本Rails指南的第4.1.2节中进行了描述:http://guides.rubyonrails.org/asset_pipeline.html
预编译后,Rails资产管道确实生成了我的资产的gzipped版本,并且我可以在我的应用程序的公共文件夹中看到这些文件。
然而,在检查网络活动时,我的网页仍然使用未压缩的资产而不是gzipped版本。这让我认为我的Web服务器没有正确配置以提供gzipped资产。我正在使用NGINX和我的Rails应用程序前端的乘客模块。
首先,我尝试使用Rails资产管道指南中推荐的NGINX配置,将以下内容添加到我的配置文件中:
这三个设置都导致我的服务器回退到常规压缩资源。
最后,我尝试安装rack-zippy gem (https://github.com/eliotsykes/rack-zippy) - 它优先提供静态gzipped资源,否则回退到常规压缩资源。这也没有起作用,这可能意味着我的NGINX配置需要修改。
非常感谢任何帮助!
然而,在检查网络活动时,我的网页仍然使用未压缩的资产而不是gzipped版本。这让我认为我的Web服务器没有正确配置以提供gzipped资产。我正在使用NGINX和我的Rails应用程序前端的乘客模块。
首先,我尝试使用Rails资产管道指南中推荐的NGINX配置,将以下内容添加到我的配置文件中:
location ~ ^/(assets)/ {
root /path/to/public;
gzip_static on; # to serve pre-gzipped version
expires max;
add_header Cache-Control public;
}
我随后再次确认http_gzip_static_module确实已经与我的NGINX安装一起编译:
/opt/nginx/sbin/nginx -V # --with-http_gzip_static_module
更新完 NGINX 配置,并确认 http_gzip_static_module 已经安装,接着我就开始在 production.rb 文件中尝试使用 config.serve_static_files 选项:
config.serve_static_files = true
config.serve_static_files = false
config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
这三个设置都导致我的服务器回退到常规压缩资源。
最后,我尝试安装rack-zippy gem (https://github.com/eliotsykes/rack-zippy) - 它优先提供静态gzipped资源,否则回退到常规压缩资源。这也没有起作用,这可能意味着我的NGINX配置需要修改。
非常感谢任何帮助!