9

I am running into deployment issues with Phusion Passenger on a fairly large app: stalled processes on high loads, idle processes, slow firing up of an instance, etc. So I was looking into Unicorn, which I like very much from an architecture/performance perspective.

Are there any easy to follow migration guides to go from Nginx Phusion Passenger to Unicorn?

4

3 回答 3

4

这个问题很老,我的回答并没有直接回答这个问题,但我刚刚遇到了一个相当详细的使用 Unicorn、nginx 等的堆栈部署指南:

http://techbot.me/2010/08/deployment-recipes-deploying-monitoring-and-securing-your-rails-application-to-a-clean-ubuntu-10-04-install-using-nginx-and-独角兽/

以为我会把它扔给将来遇到这个问题的人。

于 2011-01-08T00:05:30.353 回答
1

因为较新版本的 Rails 在后台使用 Rack,所以在 Web 服务器之间切换应该相当容易。在开发环境中简单地使用您的应用程序启动 Unicorn 时,您遇到了哪些具体问题?

您应该能够继续使用 Nginx 作为反向代理。从我收集到的信息来看,Unicorn 应该在工作人员之间进行负载平衡,因为它只有一个在它们之间共享的侦听套接字/端口。因此 Nginx 通常应该被配置为一个非常简单的反向代理和资产服务器,没有负载平衡。(当然,将工人分散到机器上时除外。)

您希望解决的应用程序中是否存在对乘客的特定依赖?或者您是在询问 Unicorn 的通用部署说明吗?

于 2010-02-21T13:41:05.323 回答
1

这些问题已经在 Phusion Passenger 中得到解决。Phusion Passenger 4完全支持异步进程生成,提供防止进程卡住的保护,支持滚动重启等。从架构的角度来看,Phusion Passenger 4 采用了混合事件/多线程/多进程设计。这就像 Unicorn、Rainbows 和 Puma 之间的合并,但它提供了简单的配置选项来无缝切换模式。

于 2012-10-23T20:13:03.670 回答