部署 困惑 Puma 长时间才返回响应

catfish23 · 2017年08月07日 · 最后由 jakit 回复于 2017年08月07日 · 1993 次阅读

初次实验 rails 正式环境部署(puma+nginx),总体还是在内网,基本都弄好

遇到个奇妙的问题,访问相应的地址(如/login),过很久(大约 5 分钟左右)才看到页面,production.log 中显示后端很快就 200 返回了。index 由于没配置,会正常返回 404。

开始以为是网络问题,后在服务器本机用 curl 测试直接访问 puma 9292 端口,也如此,各种都尝试了,不知道是什么原因,webrick 也是这样情况,开发环境中没有这种问题(macos 系统),曾把 daemonize 设为 false,访问发现象死机了一样 ctrl-c 也无法停止 puma,哪位大神帮忙判断下会是什么情况,

系统环境信息:CentOS release 6.7 (Final) jruby 9.1.9( ruby 2.3.3)puma 3.9.1,

puma.rb 如下:


# workers Integer(ENV['WEB_CONCURRENCY'] || 1)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count

rackup      DefaultRackup
port        ENV['PORT']     || 9292
environment ENV['RACK_ENV'] || 'production'

stdout_redirect 'log/puma.log', 'log/puma_error.log', true
bind 'unix:///data/appname/tmp/sockets/puma.sock'
pidfile '/data/appname/tmp/pids/puma.pid'
daemonize true

on_worker_boot do
  # Worker specific setup for Rails 4.1+
  # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
  ActiveRecord::Base.establish_connection
end
preload_app!
~      

没起 worker 默认是 0

马克,今晚回

需要 登录 后方可回复, 如果你还没有账号请 注册新账号