Ruby on rails Rails 4资产:预编译不工作Nginx+;精简配置

Ruby on rails Rails 4资产:预编译不工作Nginx+;精简配置,ruby-on-rails,ruby-on-rails-4,nginx,thin,Ruby On Rails,Ruby On Rails 4,Nginx,Thin,请帮帮我。 我在vps上运行rails4应用程序 我在nginx配置中使用了thin upstream myapp { server 127.0.0.1:3000; server 127.0.0.1:3001; server 127.0.0.1:3002; } server { listen 80; server_name .example.com; access_log /var/www/myapp.example.com/log/access.log; er

请帮帮我。 我在vps上运行rails4应用程序

我在nginx配置中使用了thin

upstream myapp {
  server 127.0.0.1:3000;
  server 127.0.0.1:3001;
  server 127.0.0.1:3002;
}
server {
  listen   80;
  server_name .example.com;

  access_log /var/www/myapp.example.com/log/access.log;
  error_log  /var/www/myapp.example.com/log/error.log;
  root     /var/www/myapp.example.com;
  index    index.html;

  location / {
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  Host $http_host;
    proxy_redirect  off;
  try_files /system/maintenance.html $uri $uri/index.html $uri.html @ruby;
 }

  location @ruby {
   proxy_pass http://myapp;
  }
}
这是我的生产环境设置

# Disable Rails's static asset server (Apache or nginx will already do this).
 config.serve_static_assets = true

 # Compress JavaScripts and CSS.
 config.assets.js_compressor = :uglifier
 #  config.assets.css_compressor = :sass

  # Do not fallback to assets pipeline if a precompiled asset is missed.
 config.assets.compile = true
 config.assets.precompile = ['*.js', '*.css', '*.css.erb']
在public/assets/i中,我可以看到编译后的js css和图像,比如manydigits.png 但当我访问我的站点时,资产中有404

  location ~ ^/(assets)/{
     root /var/www/myapp.example.com/public;
     expires max;
     add_header Cache-Control public;
  }
nginx config中的这段代码修复了我的资产问题