Ruby on rails Ruby on Rails安装程序:无法访问日志文件
我第一次安装RubyonRails;在我的服务器上,我创建并加载了默认的rails应用程序。我可以查看默认页面(“欢迎登船!您正在乘坐Rails”),但当我点击“查看应用程序环境”的链接时,它会生成一个500错误 (您可以查看它。) 我想知道更多关于错误的信息,但是日志文件(“log/production.log”)是空的。查看我的Apache日志,我发现: Rails错误:无法访问日志文件。请确保 /var/www/rails/myapp/log/production.log存在,为chmod 0666。这个 日志级别已提升为警告,输出定向到STDERR 直到问题解决为止 所以,我实际上想让我的RubyonRails错误日志工作起来 我知道这个问题之前已经发布过好几次了,但我尝试了我能找到的一切,下面是我尝试过的:Ruby on rails Ruby on Rails安装程序:无法访问日志文件,ruby-on-rails,apache,ubuntu,Ruby On Rails,Apache,Ubuntu,我第一次安装RubyonRails;在我的服务器上,我创建并加载了默认的rails应用程序。我可以查看默认页面(“欢迎登船!您正在乘坐Rails”),但当我点击“查看应用程序环境”的链接时,它会生成一个500错误 (您可以查看它。) 我想知道更多关于错误的信息,但是日志文件(“log/production.log”)是空的。查看我的Apache日志,我发现: Rails错误:无法访问日志文件。请确保 /var/www/rails/myapp/log/production.log存在,为chmod
chmod 0666
www-data
,设置chmod 0666
config.log\u level=:info
<IfModule mod_passenger.c>
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
PassengerDefaultUser www-data
</IfModule>
- 运行在AmazonEC2上的Ubuntu11.10
- Apache 2.2.20
- RVM 1.10.2
- Ruby 1.9.3p0
- 轨道3.1.3
passenger-install-apache2-module
获得的。当我指向预装的时候,我遇到了这个日志问题。当我指出由passenger-install-apache2-module部署的一个时,我遇到了一个完全不同的问题,即passenger会因segfault而崩溃(请参阅我在ServerFault上的帖子)
最后,我彻底清除了我的服务器,并对基本的Ubuntu AMI(在Amazon EC2上运行)中的所有内容进行了干净的安装。重新安装后,我运行了passenger-install-apache2-module
,并将Apache配置为加载它部署的模块。这一次,模块没有崩溃,但出现了日志错误。我在Rails应用程序的根上设置了chmod 755
,确保production.log存在,并且它至少具有chmod 0666
权限。瞧,问题解决了
TL;DR重新安装,确保我使用的是最新的乘客模块,并且我的文件权限设置正确
<IfModule mod_passenger.c>
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
PassengerDefaultUser www-data
</IfModule>
DocumentRoot /var/www/rails/myapp/public
RackBaseURI /
RackEnv production
PassengerMaxPoolSize 4