我的网站目前运行正常,但我无法弄清楚如何在名称中使用带有摘要的资产。它是一个Ubuntu服务器,我使用Capistrano部署到Rails 3.2,Nginx和Passenger。当我在Chrome中使用开发人员工具查看我们的生产网站的网络请求时,我发现它只加载application.js
而不是application.js-a99ef8tne89....js
。我想使用摘要版本,因为我最近对资产进行了大量更新。
我觉得问题可能是我的nginx配置但不确定......?
我在Rails中的production.rb:
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
我的nginx.conf文件:
server {
# PRODUCTION WEB SERVER
listen 80;
server_name app.mysite.com;
root /home/deploy/my_app/current/public;
passenger_enabled on;
rails_env production;
access_log /var/log/nginx/my_app_production.access.log;
error_log /var/log/nginx/my_app_production.error.log;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
}
该网站已经启动并运行了一段时间,我只是无法弄清楚为什么没有使用资产的摘要版本。我已经检查过,资产的摘要版本被部署到正确的位置,manifest.xml文件也是正确的。也许这与上面的location ^~ /assets/ {
块有关?感谢您的任何见解。