问题描述
当我运行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文件的存储库。我只保留了Capistrano部分(这是一个全新的项目):https://github.com/flyfy1/CodeRead/
shared/logs/puma.access.log
和puma.error.log
中找到了 Puma 日志。 - Joshua Muheim