使用 puma / systemd 和套接字激活有什么好处?

cla*_*asz 5 ruby ruby-on-rails systemd puma

我在 Ubuntu 20.04 上使用 Ruby on Rails 6 和由 systemd 管理的 Puma 服务器。

Puma 官方网站上给出了两种设置类型:

  • 简单的
  • 带套接字激活

那里说:

systemd 和 puma 还支持套接字激活,其中 systemd 提前打开侦听套接字并在启动时将它们提供给 puma 主进程。除其他优点外,这使侦听套接字在 puma 重新启动时保持打开状态,并实现平稳重新启动(包括升级 puma 时),并且与集群模式和应用程序预加载兼容。

[强调我的]

我有两个问题:

  • 什么是“优雅”重启?
  • “其他优势”是什么?

小智 0

另一项优点是使用“系统端口”,例如,在以非 root 用户身份运行 puma 时使用端口 80。