Nginx обслуживает только изображения, но не css или js, Rails 3.1 - PullRequest
0 голосов
/ 17 июля 2011

Вот мой конф для сайта на Rails 3.1:

server {
    listen 80;
    server_name test.mysite.com www.test.mysite.com;
    root /var/www/mysite/test/current/public;

    location ~* ^/assets/ {
            expires max;
            add_header Cache-Control public;
            break;
    }

    passenger_enabled on;


    error_page  404  /404.html;
    # redirect server error pages to the static page /50x.html
    error_page   500 502 503 504  /500.html;

    client_max_body_size 10M;

    if (-f $document_root/maintenance.html) {
            rewrite  ^(.*)$  /maintenance.html break;
    }

}

Только изображения отображаются. CSS и JS показывают 404 страницы. Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 18 июля 2011

Видимо, я не уделил достаточно внимания. Эти файлы css и js по какой-то причине фактически не были скомпилированы и, следовательно, не появились в assets/public dir. По крайней мере, не все из них: например, application.css есть, но других css-файлов нет. В любом случае, это не проблема nginx, поэтому я отмечаю это как правильный ответ.

1 голос
/ 17 июля 2011

Я хотел бы поделиться с вами моей конфигурацией на Github nginx + passenger в производственном режиме.это решает вашу проблему со статическим содержимым сервера правильным образом

0 голосов
/ 21 сентября 2012

У меня была та же проблема, одна из моих таблиц стилей не компилировалась, но это руководство предоставило мне решение.

Я добавил свои custom.css к config/environments/production.rb таким образом ...

config.assets.precompile += ['custom.css']

После этого я выдал bundle exec rake assets:precompile и моя проблема была решена.

...