【问题标题】:Puma starts but does not create the processesPuma 启动但不创建进程
【发布时间】:2019-05-15 19:10:01
【问题描述】:

我尝试使用以下命令运行我的 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])

我错过了什么?提前致谢

【问题讨论】:

  • 进程是ruby进程,不是puma,试试ps aux | grep ruby...

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


【解决方案1】:

Puma 工作进程是从原始父进程派生出来的,即ruby 进程。

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

ps aux | grep ruby

【讨论】:

    【解决方案2】:

    问题显然出在 puma 套接字上,我的 nginx 无法绑定它。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 2020-09-09
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 2014-07-15
      • 2017-04-28
      相关资源
      最近更新 更多