Puma启动但不创建流程

时间:2018-12-14 13:49:07

标签: ruby-on-rails puma application-server

我尝试使用以下命令运行puma应用程序服务器

RAILS_ENV=production puma -C config/puma.rb -e production -d 

然后我看到一切都很好。

  

生产[3111] Puma以群集模式启动... [3111] *版本   3.12.0(ruby 2.2.4-p230),代号:睡衣中的骆驼[3111] *最小线程:1,最大线程:6 [3111] *环境:生产环境[3111] *   流程工作者:2 [3111] *分阶段重新启动[3111] *   聆听   Unix:///home/joaquin/Documents/ecommerce/vaypol-ecommerce/shared/sockets/puma.sock   [3111] *守护进程...

但实际上,如果我尝试使用ps aux | grep puma

进行检查,则程序永远不会启动

所以我的 config / puma.rb

# Change to match your CPU core count
workers 2

# Min and Max threads per worker
threads 1, 6

daemonize true

app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#{app_dir}/shared"

# Default to production
rails_env = ENV['RAILS_ENV'] || "production"
environment rails_env

# Set up socket location
bind "unix://#{shared_dir}/sockets/puma.sock"

# Logging
stdout_redirect "#{shared_dir}/log/puma.stdout.log", "#{shared_dir}/log/puma.stderr.log", true

# Set master PID and state locations
pidfile "#{shared_dir}/pids/puma.pid"
state_path "#{shared_dir}/pids/puma.state"
activate_control_app

on_worker_boot do
  require "active_record"
  ActiveRecord::Base.connection.disconnect! rescue ActiveRecord::ConnectionNotEstablished
  ActiveRecord::Base.establish_connection(YAML.load_file("#{app_dir}/config/database.yml")[rails_env])

我想念什么?在此先感谢

2 个答案:

答案 0 :(得分:0)

Puma worker进程是从原始父进程(ruby进程)派生的。

考虑对名为ruby而不是puma的进程进行测试...,即(使用您的方法):

ps aux | grep ruby

答案 1 :(得分:0)

问题显然出在puma插槽上,我的nginx无法绑定它。

upstream myapp_puma {
 server unix:///home/ubuntu/vaypol-ecommerce/shared/sockets/puma.sock fail_timeout=0;
}