繁体   English   中英

Puma与nginx反向代理无声崩溃

[英]Puma silent crash with nginx reverse proxy

我有一个在AWS EC2实例上运行ruby on rails app的puma服务器。 它工作正常一段时间,但几小时后我发现它回应了502错误。 该应用程序与capistrano一起部署。

一个简单的puma重启暂时解决了问题,但我想防止它再次发生。 不太清楚首先要尝试什么。

这是我的capistrano puma配置:

set :puma_rackup, -> { File.join(current_path, 'config.ru') }
set :puma_state, "#{shared_path}/tmp/pids/puma.state"
set :puma_pid, "#{shared_path}/tmp/pids/puma.pid"
set :puma_bind, "unix://#{shared_path}/tmp/sockets/puma.sock"
set :puma_conf, "#{shared_path}/puma.rb"
set :puma_access_log, "#{shared_path}/log/puma.error.log"
set :puma_error_log, "#{shared_path}/log/puma.access.log"
set :puma_role, :app
set :puma_env, fetch(:rack_env, fetch(:rails_env, 'production'))
set :puma_threads, [0, 8]
set :puma_workers, 0
set :puma_worker_timeout, nil
set :puma_init_active_record, true
set :puma_preload_app, false
set :bundle_gemfile, -> { release_path.join('Gemfile') }

Puma错误日志不显示任何崩溃。

Nginx错误日志显示(xx'd out client ip):2016/08/09 06:25:52 [error] 1081#0:* 348 connect()到unix:/// home / deploy / myapp / shared / tmp连接到上游时,/sockets/puma.sock失败(111:连接拒绝),客户端:xx.xx.xx.xx,server:example.com,请求:“POST / mypath HTTP / 1.1”,上游:“ http: //unh://://home/deploy/myapp/shared/tmp/sockets/puma.sock:/mypath “,主持人:”example.com“

来自GitHub上的这个问题

好的,谢谢配置。 这一切看起来都很好所以我猜你是因为扩展不好而导致进程崩溃。 由于你正在生产,我建议取消对工人线的注释并使用至少2名工人。 这将至少使您免受崩溃的影响,因为其他工作人员将能够处理流量,同时崩溃的流量会自动重新启动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM