我整天都在寻找解决方案,并且做得很短......对任何见解感到高兴。提前谢谢。
问题: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
答案 0 :(得分:0)
很抱歉,如果这是一个非常明显的答案,但鉴于权限是相同的,你确定你在生产中运行吗?
运行以下内容会发生什么?
tail -f log/production.log
答案 1 :(得分:-2)
此问题是由于Unicorn在更新到Capistrano v3.0.1后无法在我的网络服务器上成功启动而引起的。
我从应用程序中删除了Unicorn并将其替换为Phusion Passenger。一切都很好。