【问题标题】:Rails Error: Unable to access log fileRails 错误:无法访问日志文件
【发布时间】:2017-04-05 09:04:14
【问题描述】:

我的应用程序突然出现此错误,该应用程序运行了两年多没有问题:

Rails Error: Unable to access log file. Please ensure that .../production.log exists...   
WARN -- : Errno::EACCES: Permission denied @ rb_sysopen .../log/newrelic_agent.log 

这个错误的结果是我的mongoDB被杀死了。在我重新启动应用程序后,一切都会再次运行,直到调用导致该行为的计划任务。

错误消息说我必须 chmod 到 0664,但情况仍然如此。对于部署,我使用 capistrano。

有什么想法吗?

【问题讨论】:

  • 您确定删除服务器上存在什么日志文件夹吗?我的意思是该文件夹是在 Rails 服务器启动之前由 capistrano 链接的吗?
  • 是的,该文件夹存在。就像我提到的。它使用这种配置运行了两年多。

标签: ruby-on-rails mongodb whenever


【解决方案1】:

使日志目录对其他用户可写:

chmod -R 777 specify_app_path_here/log

【讨论】:

    【解决方案2】:

    现在我知道了这种奇怪行为的原因:硬盘故障!!! 甚至两个磁盘同时都死了(RAID1):(

    【讨论】: