我尝试使用以下命令运行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])
我想念什么?在此先感谢
答案 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;
}