自从转移到新服务器(并更新到Rails 3.0.1)以来,我在服务器上遇到权限错误。
ActionView::Template::Error (Permission denied - /var/www/myapp/releases/20101106093931/public/stylesheets/.permissions_check.81834140.9998.761303):
/ var / www应用程序设置为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
最佳答案
您的rails应用程序无权编写。缓存=> true在您的服务器上写入结果。因此,您的乘客流程需要正确使用Rails应用程序目录。
755向您的应用添加读取权限和执行权限,但不写入。因此,将您的Rails应用程序的用户所有者更改为与乘客用户相同的所有者。