为什么我们在生产设置上需要nginx?

时间:2013-07-05 06:28:56

标签: ruby-on-rails ruby nginx thin

为什么我们需要在生产设置上安装瘦的nginx,因为瘦本身就是一个Web服务器。每篇博文都使用ruby + rails + nginx + thin?

3 个答案:

答案 0 :(得分:10)

正如Michael nginx所说,薄薄的(无论那意味着什么)。但是在任何ruby服务器前使用nginx的另一个原因是提供静态文件(如果你使用页面缓存,它们也可以由nginx提供服务),这意味着请求甚至不会触及你的ruby应用程序,并且会提高你的性能。另外nginx虽然它似乎是ruby / rails社区的流行选择,但还有其他替代方案,如apache。

答案 1 :(得分:2)

Nginx用于负载均衡瘦。您可能希望使用Unicorn。有关此事的更多信息:http://cmelbye.github.io/2009/10/04/thin-vs-unicorn.html

答案 2 :(得分:2)

瘦和所有Ruby服务器都比用C语言编写的服务器慢 - 例如Nginx和Apache,在提供静态文件时 - 图像,渲染的html等 Nginx是轻量级的,具有很好的并发支持。因此,当你有一个很长的数据传输,如上传,下载或慢速客户端,它会得到回报。而不是繁琐的Ruby进程挂在内存中,等待传输的结束,你有一个轻量级的Nginx进程,只有在文件上传后才能将上传传递给Ruby进程。或者从Rails接收响应,停止Rails进程并在客户端需要的时间内提供响应。