Проблема с разрешениями NGinX при кэшировании ресурсов Rails - PullRequest
3 голосов
/ 06 ноября 2010

После перехода на новый сервер (и обновления до Rails 3.0.1) у меня возникла ошибка разрешений на моем сервере.

ActionView::Template::Error (Permission denied  - /var/www/myapp/releases/20101106093931/public/stylesheets/.permissions_check.81834140.9998.761303):

/ var / www app установлено в CHMOD 755 (рекурсивно).

Ошибка возникает, когда я пытаюсь установить :cache => true в своем теге ссылки таблицы стилей:

<%= stylesheet_link_tag %w{ reset application }, :cache => true %>

Я полагаю, это вызвано тем, что Rails пытается записать файл all.css на сервер и не имеет соответствующих разрешений, но на данный момент все должно быть запущено с правами root?

Может ли кто-нибудь предложить какое-либо предложение относительно того, как решить эту проблему?

Сервер работает под управлением NGinX с Passenger 3.0.0 и Rails 3.0.1

1 Ответ

1 голос
/ 06 ноября 2010

Ваша заявка на рельсы не имеет права писать. Кеш => true напишите на вашем сервере результат. Таким образом, ваш пассажирский процесс должен иметь право на каталог приложений вашего рельса.

755 добавить права на чтение и права exec в ваше приложение, но не писать. Поэтому измените владельца пользователя вашего приложения на Rails таким же, как у вашего пассажира.

...