【发布时间】:2016-07-19 13:33:49
【问题描述】:
面临的问题
当我运行 bundle exec cap production puma:start 时,我得到 Puma 已成功启动的响应:
DEBUG [e4382d1e] * Pruning Bundler environment
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] Puma starting in cluster mode...
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] * Version 3.0.2 (ruby 2.2.1-p85), codename: Plethora of Penguin Pinatas
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] * Min threads: 0, max threads: 16
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] * Environment: staging
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] * Process workers: 2
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] * Phased restart available
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] * Listening on tcp://0.0.0.0:9294
DEBUG [e4382d1e]
DEBUG [e4382d1e] [2599] * Daemonizing...
然而,
- 当我运行
bundle exec cap production puma:status时,它说找不到文件puma.pid,因此我认为Puma没有运行,它没有运行, - 在服务器上,
curl 0.0.0.0:9294打印curl: (7) Failed to connect to 0.0.0.0 port 9294: Connection refused, - 文件
puma.pid在服务器上不存在,并且 - 如果我尝试在服务器上手动启动 Puma,它工作正常。
我的设置信息
这是我Gemfile的一部分:
gem 'puma'
group :development do
gem 'spring'
gem 'capistrano', '~> 3.0'
gem 'capistrano-rails'
gem 'capistrano-rvm'
gem 'capistrano3-puma'
end
这是Capfile:
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rails'
require 'capistrano/rvm'
require 'capistrano/puma'
require 'capistrano/puma/nginx'
这是config/deploy/production.rb:
server 'aws', user: 'my-username', roles: %w{app db web}
set :puma_bind, 'tcp://0.0.0.0:9294'
任何想法:
- 问题的原因是什么?
- 如何解决?
谢谢。
更新:这里是带有 Capistrano 文件的 repo。我只留下了 Capistrano 部分(这是一个全新的项目):https://github.com/flyfy1/CodeRead/
【问题讨论】:
-
从输出中,看起来 puma 确实启动了。是否有美洲狮日志可以告诉您为什么它可能会在之后立即死亡?
-
@will_in_wi 我没有找到任何 Puma Log.. 但我已将链接添加到 Capistrano 项目
-
我在
shared/logs/puma.access.log和puma.error.log找到了puma日志。
标签: ruby-on-rails capistrano3 puma