【问题标题】:Rails Error: Unable to access log file And ActionView::Template::Error Permission deniedRails 错误:无法访问日志文件和 ActionView::Template::Error 权限被拒绝
【发布时间】:2013-04-30 17:03:03
【问题描述】:

我在 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。

我正在通过 google 寻找解决方案,其中一个是 sudo chown -R root:root /home/admin/myapp/ 但对我不起作用,还有其他方法可以解决吗?

注意:

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

更新

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

【问题讨论】:

  • 我的 tmp 文件夹像这样drwxrwxr-x 3 ubuntu ubuntu(权限、用户、组)并且正在工作,也许您可​​以从这些权限中获得指导。

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


【解决方案1】:

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

chmod 0666 production.log

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      Rails: Unable to access log file

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-11
        • 1970-01-01
        • 2019-03-16
        • 2018-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-22
        相关资源
        最近更新 更多