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

时间:2015-08-12 19:56:39

标签: ruby server rack

这是一个很麻烦的,但请耐心等待。

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

似乎Rack总是使用上述Web服务器之一,为什么它不使用nginx呢?似乎nginx是其他品种的服务器。

1 个答案:

答案 0 :(得分:2)

Rack是Ruby中应用程序服务器的接口,规范。这些应用程序服务器通常接收HTTP请求并通过TCP端口或unix套接字返回HTTP响应。 Ruby Web应用程序将利用其中一个实现Rack规范的应用程序服务器(瘦,美洲狮,独角兽等)。由于各种原因,您通常不会将应用程序服务器直接暴露给Internet,其中最重要的一点是这些应用程序服务器应该是应用程序代码和http之间的桥梁,而不是站在广泛的范围内开放互联网。因此,应用服务器通常有一个Web服务器,如nginx或apache,坐在它前面。让http请求在端口80上进入nginx然后让nginx将这些请求分发到在不同端口上运行的一个或多个机架应用程序服务器是很常见的。