我的 puma 配置如下:
daemonize true
pidfile "/home/deployer/xxx/shared/tmp/pids/puma.pid"
state_path "/home/deployer/xxx/shared/tmp/pids/puma.state"
stdout_redirect '/home/deployer/xxx/shared/log/puma_error.log', '/home/deployer/xxx/shared/log/puma_access.log', true
threads 0,16
bind 'unix:///tmp/xxx.sock'
workers 0
preload_app!
on_restart do
puts 'Refreshing Gemfile'
ENV["BUNDLE_GEMFILE"] = "/home/deployer/xxx/current/Gemfile"
end
都是使用默认的配置,然后会出现如果访问量和搜索数量量大时,puma 会挂掉的情况,需要手动进行重启cap production puma:start
。
而且我在使用 sidekiq 的时候,发现它也会出现挂掉的情况,但是它缺很奇怪,自动的重启回来,对这个事情非常好奇。后面找了很多相关的信息,好像和 workers 有关,但是不是特别了解情况。不知道各位有什么服务器方面的建议吗?