像PHP一样热部署Ruby:FTP上传文件并立即生效

是否有可能像PHP一样热部署Ruby? 通常我使用FTP上传PHP文件,然后它会自动提供。 Ruby可以像这样热部署它的文件吗?

您的评论欢迎。

你在谈论rails应用程序上的ruby吗?

如果是这样,在生产模式下部署rails应用程序时,所有应用程序都会加载到内存中。 因此,更改文件不会影响正在运行的应用程序。

要热重启rails应用程序,您需要使用以下解决方案:

  • 独角兽
  • 美洲狮
  • 乘客

Puma第一次是最简单的方式。

但是,如果您正在寻找零停机时间,那么Unicorn或Passenger企业都是您正在寻找的。

编辑

独角兽

  • 自由
  • 复杂的配置
  • 热重启时的零停机时间。 当热重启独角兽时,它会保持旧线程的工作,直到新线程完全正常运行。 因此,如果新的未能启动,则没有任何反应。 旧的只是继续前进。

美洲狮

  • 自由
  • 配置简单
  • 热启动但没有零停机时间。 当热重启puma时,它会关闭旧线程并启动新线程。 Puma保持套接字打开,因此客户端没有断开连接,但是在新线程重新启动时正等待响应。 但是,如果新线程无法启动,Puma无法重新启动旧线程。 因此连接丢失,服务器关闭。

乘客

免费版

  • 自由
  • 配置比独角兽容易
  • 热重启,但没有零停机时间。 像彪马。

企业版

  • $第29 /月
  • 配置比独角兽容易
  • 热重启时的零停机时间。 像独角兽一样。