在rails环境中,这是一个关于nginx和瘦的新手问题。在阅读/学习rails时,我经常听说nginx和thin是rails站点的一个很好的组合。在阅读它们的描述时,它们都将自己描述为web服务器,所以我对这两个组合给桌面带来了什么感到有点困惑。如果有人能简要描述一下它们是什么以及它们是如何相互补充的,我将不胜感激。
谢谢!
发布于 2010-09-09 23:53:10
典型的小型应用程序部署将在一台机器上运行Nginx(或Apache)和少数瘦(或Mongrel、Unicorn等)服务器。
Nginx接收每个请求。然后它直接服务于静态文件(css,js,图像,缓存的东西)。如果请求需要处理,则将请求传递给rails进程(瘦进程)。
这样,您的(相对)缓慢的应用程序服务器可以从静态文件服务中解放出来,并且您的web服务器提供了一种负载平衡。
与Apache/Mongrel相比,Nginx/Thin的好处是Nginx/Thin可以直接通过unix套接字进行通信,从而消除了通过tcp/ip堆栈进行通信的开销。
发布于 2012-06-11 15:08:27
Thin是一个应用服务器,而Nginx是一个web服务器。
来自http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html
应用服务器通过各种协议(可能包括HTTP )向客户端应用程序公开业务逻辑。HTML服务器主要处理发送以便在Web浏览器中显示,而应用程序服务器提供对业务逻辑的访问,以供客户端应用程序使用。应用程序可以像调用对象上的方法(或过程世界中的函数)一样使用此逻辑。
发布于 2010-09-09 22:59:52
出于无知(我从未使用过Thin),将nginx和应用服务器混合在一起是很正常的,使用nginx提供静态内容并充当应用服务器的反向代理。
这使得将极快的静态内容服务与所选的应用服务器(在不同的编程语言之间有所不同)混合在一起变得容易,所有这些内容都来自同一个地址:端口。
https://stackoverflow.com/questions/3677715
复制相似问题