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

3

我正在使用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服务器错误,如何检查错误?


我像这样得到了我的tmp文件夹 drwxrwxr-x 3 ubuntu ubuntu(权限,用户,组),并且它正在工作,也许您可以从这些权限中进行指导。 - sites
3个回答

4

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

chmod 0666 production.log

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


1

您需要将Apache用户设置为应用程序的所有者,例如:

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

0

我一直都使用644作为日志文件的权限,这种情况发生过不止一次,但每次都可以在下面链接的问题中找到答案。由于这是我使用的查询在Google上的第一个答案,所以我将链接到我真正想要的答案。

Rails: 无法访问日志文件


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接