ruby-on-rails Puma启动但不创建进程

k5ifujac  于 2023-02-14  发布在  Ruby
关注(0)|答案(3)|浏览(233)

我尝试使用以下命令运行我的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/电子商务/vaypol-ecommerce/共享/套接字/puma.sock [3111] * 正在后台进程中...
但真实的上,如果我尝试使用ps aux | grep puma检查,进程永远不会启动
所以我配置/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])

我错过了什么?先谢谢你

hivapdat

hivapdat1#

Puma工作进程是从原始的父进程派生出来的,它是一个ruby进程。
考虑测试名为ruby而不是puma的流程,即(使用您的方法):

ps aux | grep ruby
ha5z0ras

ha5z0ras2#

问题显然是与彪马插座,我的nginx是无法绑定它。

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

hmtdttj43#

请确保这些文件夹在共享的“log \ pids \ sockets”中,puma将使用这些文件夹。如果这些文件夹没有找到,请使用mkdir创建它们

相关问题