Nginx、Unicorn和Heroku

4

我对ROR开发还比较新,目前正在使用Herokuo(带Thin)运行我的Web应用程序。

我一直在研究零停机部署,然后我了解到了Nginx和Unicorn。

有人可以向我解释一下Nginx到底是什么,它是否与Heroku一起使用?Unicorn也是如此吗?

相对于Thin,使用它的优缺点是什么?

非常感谢提前!

1个回答

5

nginx是一个Web服务器;在Ruby on Rails应用程序的上下文中,它接收用户的请求并将其移交给应用程序服务器。现在流行的应用程序服务器有:

  • thin
  • webrick
  • puma
  • unicorn

在heroku的环境中,您可以选择应用程序服务器,但不能选择Web服务器。

当您自己托管时,使用unicorn而不是thin可以帮助您实现零停机部署。但是,heroku可以使用任何thin/puma/unicorn来帮助您实现零停机部署。

关于在heroku进行零停机支持的实验性支持:https://devcenter.heroku.com/articles/labs-preboot/


"Heroku声称可以使用thin/puma/unicorn中的任何一个来实现零停机部署,但事实并非如此。在部署过程中,Heroku会关闭所有应用程序服务器,然后再启动新代码。这不是真正的零停机部署。" - Mark Ellul
4
Heroku确实提供了零停机滚动部署,但这是一个实验性的labs功能。根据我们的经验,它运行得很好。 - Nico

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接