缓存Rails资产时的NGinX权限问题

时间:2010-11-06 10:09:46

标签: ruby-on-rails unix nginx passenger

自从迁移到新服务器(并更新到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身份运行引起的?

有人可以就如何解决这个问题提出任何建议吗?

服务器正在运行带有Passenger 3.0.0和Rails 3.0.1的NGinX

1 个答案:

答案 0 :(得分:1)

您的rails应用程序无权编写。缓存=&gt; true在您的服务器上写入结果。因此,您的乘客流程需要在您的rails应用程序目录中。

755将读取权限和执行权添加到您的应用中但不写入。因此,将Rails应用的用户所有者更改为与您的乘客用户相同。