ruby-on-rails - 为什么Unicorn需要和Nginx一起部署?

标签 ruby-on-rails nginx webserver unicorn

我想知道 Nginx 和 Unicorn 之间的区别。据我了解,Nginx 是一个 Web 服务器,而 Unicorn 是一个 Ruby HTTP 服务器。

既然Nginx和Unicorn都可以处理HTTP请求,那么RoR应用程序有什么必要使用Nginx和Unicorn组合呢?

最佳答案

Nginx 是一个纯粹的 Web 服务器,旨在提供静态内容和/或重定向请求到另一个套接字来处理请求。

Unicorn 是一个机架网络服务器,仅用于托管通常生成动态内容的“机架应用程序”。机架应用程序还可以提供静态内容,但其效率低于大多数其他传统 Web 服务器。

大多数 RoR 设置结合使用传统 Web 服务器和机架服务器来充分利用两者的功能。 Nginx 通过代理平衡和提供静态内容来进行请求重定向,速度非常快。 Unicorn 非常有能力处理 HTTP header 并平衡入站请求到 Ruby 进行处理。

关于ruby-on-rails - 为什么Unicorn需要和Nginx一起部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739871/

相关文章:

ruby-on-rails - 如何在没有 Controller 的情况下保护 rspec_api_documentation apitome 路由

ruby-on-rails - ActiveRecord::关联类型不匹配。有很多关系

sockets - Nginx出现 Varnish 错误: failed (24: Too many open files)

c++ - 需要在 C++ 中使用 Qt 4.7 创建 http 网络服务器

webserver - 将 WebStorm 与 Parse.com 一起使用

ruby-on-rails - Rails 3错误:对象不支持包含#inspect的检查(左外部联接)

ruby-on-rails - Rails 2.3.3 各国都搬到哪里去了

php - 服务器根目录总是显示欢迎使用 Nginx

cakephp - nginx 正在从一个虚拟主机重定向到另一个

jakarta-ee - 部署 Java Web 应用程序时出现问题