我昨天在我的rails应用程序上为我的delayed_job
添加了一个新的日志文件,现在当ssh
进入我的AWS实例时,我无法启动rails控制台。
错误显示为:
Rails Error: Unable to access log file. Please ensure that /var/app/current/log/production.log exists and is writable (ie, make it writable for user and group: chmod 0664 /var/app/current/log/production.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
/opt/rubies/ruby-2.2.5/lib/ruby/2.2.0/open-uri.rb:36:in `initialize': Permission denied @ rb_sysopen - /var/app/current/log/delayed_job.log (Errno::EACCES)
这很奇怪,因为production.log
已经在我的应用程序中存在了很长时间,我之前从未见过这个错误。
我尝试了sudo chmod 0664 /var/app/current/log/production.log
和sudo chmod 0664 /var/app/current/log/delayed_job.log
,但它仍然会出现同样的错误。
我对这两个文件的文件权限均为-rw-rw-r--
。我需要让所有用户都可写吗?我不想直接这样做,因为我不确定它是否安全。
答案 0 :(得分:1)
所以我通过运行:
解决了上述问题 sudo chmod 0777 /var/app/current/log/delayed_job.log
sudo chmod 0777 /var/app/current/log/production.log
我最终提供了对所有用户的读写访问权限,但我认为这是必需的,因为AWS无法获得访问权限。