Rails错误:无法访问日志文件和ActionView :: Template ::错误权限被拒绝

时间:2013-05-06 21:04:58

标签: ruby-on-rails ruby-on-rails-3.2 capistrano passenger

我使用capistrano在centos(apache + passenger)上部署我的应用程序,当访问我的网页时我得到了“HTTP 500(内部服务器错误)”并检查error_log文件,这里的错误看起来像:

DAV/2 Phusion_Passenger/3.0.19 mod_ssl/2.2.24 OpenSSL/1.0.0-fips configured -- resuming normal operations
Rails Error: Unable to access log file. Please ensure that /home/admin/myaap/releases/20130506191509/log/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed..

production.log权限

-rwxrwxr-x 1 root root 46211 May 6 20:49 production.log

ActionView::Template::Error (Permission denied - /home/admin/myaap/releases/20130506191509/tmp/cache/assets/D3B

目录D3B未找到。

我正在通过谷歌寻找解决方案,其中一个是sudo chown -R root:root /home/admin/myapp/但不适用于我,有没有其他方法可以修复它?

注意:

我正在使用用户root来部署和安装rvm,以及用户'admin'上的目录根位置(kloxo控制面板)

更新

在error_log文件中找不到关于权限且无法访问的错误,我正在使用chmod go-w /home/admin/myappchmod 0666 production.log,但我的网络仍有500服务器错误,如何检查错误?

3 个答案:

答案 0 :(得分:3)

正如Rails在错误日志中建议的那样,您应该将日志文件的权限更改为066:

chmod 0666 production.log

您正在使用root进行部署,但Web服务器正在使用其他用户名。

答案 1 :(得分:1)

您需要让您的apache用户成为您应用的所有者,例如:

sudo chown -R apacheuser:apacheuser /home/admin/myapp/

答案 2 :(得分:0)

我总是将日志文件权限设为644成功。当发生这种情况时,不止一次我可能会添加,它总是由下面链接的问题回答。由于这是我使用的查询的第一个答案,我将链接到我真正想要的答案。

Rails: Unable to access log file