Ruby web服务器与nginx等其他服务器之间的差异

Ruby web服务器与nginx等其他服务器之间的差异,ruby,server,rack,Ruby,Server,Rack,这是一个傻瓜,但请容忍我 HAProxy、apache/nginx、rack(thin、puma、mongrel、webrick)和应用服务器之间有什么区别 Rack似乎总是使用上述web服务器之一,那么为什么它从来没有使用过nginx呢?nginx似乎是另一种类型的服务器。Rack是Ruby中应用服务器的接口和规范。这些应用服务器通常接收HTTP请求并通过TCP端口或unix套接字返回HTTP响应。Ruby web应用程序将利用实现Rack规范的应用程序服务器之一(thin、puma、unic

这是一个傻瓜,但请容忍我

HAProxy、apache/nginx、rack(thin、puma、mongrel、webrick)和应用服务器之间有什么区别


Rack似乎总是使用上述web服务器之一,那么为什么它从来没有使用过nginx呢?nginx似乎是另一种类型的服务器。

Rack是Ruby中应用服务器的接口和规范。这些应用服务器通常接收HTTP请求并通过TCP端口或unix套接字返回HTTP响应。Ruby web应用程序将利用实现Rack规范的应用程序服务器之一(thin、puma、unicorn等)。由于各种原因,您通常不会将应用程序服务器直接暴露到internet上,其中最重要的一个原因是这些应用程序服务器是应用程序代码和http之间的桥梁,而不是用来对抗完全开放的internet。因此,应用服务器通常有一个web服务器,如nginx或apache,位于其前面。非常常见的情况是,http请求在端口80上进入nginx,然后让nginx将这些请求分发到运行在不同端口上的一个或多个机架应用程序服务器