【问题标题】:Puma - Rails on linux // Restart when process diesPuma - Linux 上的 Rails // 进程终止时重新启动
【发布时间】:2014-07-15 02:08:26
【问题描述】:
在 Rails 应用上使用 puma;它有时会在没有任何特定原因的情况下死亡;部署时也经常死机(停止后不会重新启动)
监控进程是否终止并以正确方式重新启动它的好方法是什么?
在 Rails 应用程序中被调用;如果有一种方法可以为任何应用程序定义它,我会很有用。
我没有找到任何可用的方法来做到这一点(查看 systemd,其他 linux 守护进程......没有成功)
感谢反馈
【问题讨论】:
标签:
ruby-on-rails-4
daemon
upstart
puma
【解决方案1】:
您可以使用puma control 来启动/停止 puma 服务器。如果您知道 puma.pid 文件的放置位置(对于 Mac,通常是 "#{Dir.pwd}/tmp/pids/puma.pid"),您可以这样做:
bundle exec pumactl -P path/puma.pid stop
要设置 pid 文件路径或其他选项(如守护进程),您可以创建 puma 配置。你可以找到an example here。然后仅使用配置文件启动和停止服务器:
bundle exec pumactl -F config/puma.rb start
你也可以这样重启查看状态:
bundle exec pumactl -F config/puma.rb restart
bundle exec pumactl -F config/puma.rb status