【发布时间】:2012-02-14 08:09:55
【问题描述】:
我是第一次设置 Ruby on Rails;在我的服务器上,我创建并加载了默认的 rails 应用程序。我可以查看默认页面(“欢迎加入!您正在使用 Rails”),但是当我点击“查看应用程序环境”的链接时,它会生成 500 错误。
(您可以查看here。)
我想了解有关该错误的更多信息,但是日志文件(“log/production.log”)为空。查看我的 Apache 日志,我发现:
Rails 错误:无法访问日志文件。请确保 /var/www/rails/myapp/log/production.log 存在并且是 chmod 0666。 日志级别已提高到 WARN 并且输出定向到 STDERR 直到问题解决。
所以,我实际上想让我的 Ruby on Rails 错误日志记录正常工作。
我知道这个问题之前已经发布过几次了,但我尝试了我能找到的所有方法,所以我尝试了以下方法:
- 创建“log/production.log”文件,设置所有者为www-data,设置
chmod 0666。 - 将“日志”文件夹的所有者设置为
www-data,设置为chmod 0666。 - 仔细检查了我的生产环境设置,设置了
config.log_level = :info。 -
检查 Apache 正在使用 www-data 用户(“etc/apache2/envvars”):
export APACHE_RUN_USER=www-data export APACHE_RUN_GROUP=www-data -
“etc/apache2/mods-available/passenger.conf”为Passenger设置了默认用户:
<IfModule mod_passenger.c> PassengerRoot /usr PassengerRuby /usr/bin/ruby PassengerDefaultUser www-data </IfModule> “config.ru”和“configs/environment.rb”的所有者是
www-data-
我的虚拟主机已相应设置:
DocumentRoot /var/www/rails/myapp/public RackBaseURI / RackEnv production PassengerMaxPoolSize 4
已经阅读并尝试了这些地方建议的所有修复:
- Rails: Unable to access log file
- Can't access log files in production
- http://railsforum.com/viewtopic.php?id=36168
- Why am I getting Permission denied error in deployment on files generated by capistrano?
- http://bradhe.wordpress.com/2011/06/26/a-sneaky-rails-3-bug-in-logging/
(这就是我现在所记得的所有尝试......)
我的一些环境设置:
- 在 Amazon EC2 上运行的 Ubuntu 11.10
- Apache 2.2.20
- RVM 1.10.2
- Ruby 1.9.3p0
- Rails 3.1.3
【问题讨论】:
标签: ruby-on-rails apache ubuntu