3

我在 centos(apache + 乘客)上使用 capistrano 部署我的应用程序,当访问我的网站时,我得到“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/myappand chmod 0666 production.log,但我的 web 仍然出现 500 服务器错误,如何检查错误?

4

3 回答 3

3

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

chmod 0666 production.log

您正在使用 root 进行部署,但 Web 服务器正在使用另一个用户名。

于 2013-05-07T07:50:34.533 回答
1

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

sudo chown -R apacheuser:apacheuser /home/admin/myapp/
于 2013-05-07T07:58:11.837 回答
0

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

Rails:无法访问日志文件

于 2015-02-06T20:42:00.447 回答