log / production.log文件存在但为空

时间:2013-11-11 04:57:58

标签: ruby-on-rails ruby nginx permissions unicorn

我整天都在寻找解决方案,并且做得很短......对任何见解感到高兴。提前谢谢。

问题:log / production.rb文件存在但在生产Rails 4.0环境中为空。 log / development.rb与开发Rails 4.0环境一样。

一点背景:使用Rails 4,Ruby 2.0.0-p247,Capistrano 3.0.1,Unicorn 4.7.0和nginx 1.4.1。

应用根和权限:

drwxrwsr-x 13 deployer deployer 4096 2013-11-10 21:30 ./
drwxrwsr-x  7 deployer deployer 4096 2013-11-10 21:30 ../
drwxrwsr-x  8 deployer deployer 4096 2013-11-10 21:31 app/
-rw-rw-r--  1 deployer deployer 2015 2013-11-10 21:30 assets_manifest_backup
drwxrwsr-x  2 deployer deployer 4096 2013-11-10 21:31 bin/
drwxrwsr-x  2 deployer deployer 4096 2013-11-10 21:30 .bundle/
-rw-rw-r--  1 deployer deployer  473 2013-11-10 21:31 Capfile
drwxrwsr-x  6 deployer deployer 4096 2013-11-10 21:30 config/
-rw-rw-r--  1 deployer deployer  154 2013-11-10 21:31 config.ru
drwxrwsr-x  3 deployer deployer 4096 2013-11-10 21:31 db/
-rw-rw-r--  1 deployer deployer 1378 2013-11-10 21:31 Gemfile
-rw-rw-r--  1 deployer deployer 3418 2013-11-10 21:31 Gemfile.lock
-rw-rw-r--  1 deployer deployer  488 2013-11-10 21:31 .gitignore
drwxrwsr-x  5 deployer deployer 4096 2013-11-10 21:31 lib/
drwxrwsr-x  2 deployer deployer 4096 2013-11-10 21:30 log/
drwxrwsr-x  2 deployer deployer 4096 2013-11-10 21:30 public/
-rw-rw-r--  1 deployer deployer  249 2013-11-10 21:31 Rakefile
-rw-rw-r--  1 deployer deployer 3165 2013-11-10 21:31 README.md
drwxrwsr-x  8 deployer deployer 4096 2013-11-10 21:31 test/
drwxrwsr-x  3 deployer deployer 4096 2013-11-10 21:30 tmp/
drwxrwsr-x  3 deployer deployer 4096 2013-11-10 21:31 vendor/

所以我知道log与其他目录具有相同的权限。

我在config / environments / production.rb中没有任何神奇的东西,因为我假设Rails会隐式为我创建生产日志。我将config.log_level设置为:info。 (特别是因为日志在开发环境中工作。)

显然,考虑到环境变化,问题必须与/ log权限或Rails配置中遗漏的明显明显相关。

在设置Capistrano 3进行部署时,我使用了deploy_to路径(http://www.capistranorb.com/documentation/getting-started/authentication-and-authorisation/)的建议权限。他们想要chmod -R g + s $ deploy_to,所以我想知道这对日志生成是否有任何影响。

我对任何解决方案持开放态度,但更愿意坚持使用内置的Rails日志,而不是使用别的东西。

再次感谢!

更新:set :linked_dirs, %w{... log ...}添加到config / deploy.rb后,日志权限似乎准确无误,因为我现在在log / unicorn.log中获得了独角兽stdout和stderr。 / p>

该问题似乎与我的独角兽设置有关,因为我无法成功重启或重新加载工作人员。

Capistrano链接目录后的app_root / log内容(上图):

drwxr-sr-x 2 deployer deployer  4096 2013-11-11 06:23 ./
drwxrwsr-x 9 deployer deployer  4096 2013-11-11 06:20 ../
-rw-r--r-- 1 deployer deployer     0 2013-11-11 06:20 production.log
-rw-r--r-- 1 deployer deployer 11570 2013-11-11 07:09 unicorn.log

2 个答案:

答案 0 :(得分:0)

很抱歉,如果这是一个非常明显的答案,但鉴于权限是相同的,你确定你在生产中运行吗?

运行以下内容会发生什么?

  tail -f log/production.log

答案 1 :(得分:-2)

此问题是由于Unicorn在更新到Capistrano v3.0.1后无法在我的网络服务器上成功启动而引起的。

我从应用程序中删除了Unicorn并将其替换为Phusion Passenger。一切都很好。

相关问题