Nginx代理服务器不在rails app上提供静态资产

时间:2018-04-05 10:31:45

标签: ruby-on-rails nginx

我在这里按照一些答案对location块进行了更改,以便为静态资产提供服务。似乎没有运气。

的/ etc / nginx的/启用的站点 - /默认

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
    proxy_pass http://127.0.0.1:3000;
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }

  location ~* /(assets|fonts|swfs|images)/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

}

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果您的资源文件夹位于/var/www/html内,例如/var/www/html/images/test.jpg,则您希望使用以下语法:

location ^~ /(assets|fonts|swfs|images)/ {
    access_log  /var/log/nginx/test.com.access_proxy.log;
    error_log  /var/log/nginx/test.com.error_proxy.log;
    root       /var/www/html/;
    internal;
}