Q&A – Nginx与Tomcat的区分?

web上之server都受web server,但是大家分工为来例外之。

nginx常因此做静态内容服务以及代理服务器(不是公FQ那个代理),直面外来请求转发给后面的应用服务(tomcat,django什么的),tomcat更多用来做做一个用容器,让java
web app跑在其中的物,对诺与级别之有jboss,jetty等物。

而是事无绝对,nginx也可由此模块出来供使用功能,tomcat也可以直接提供http服务,通常用当内网和无需要流控等小型服务之情景。

apache用的越来越少了,大体上以及nginx功能重合的再次多。

 

从严的来说,Apache/Nginx 应该叫做「HTTP Server」;而 Tomcat
则是一个「Application
Server」,或者更准之来说,是一个「Servlet/JSP」应用的容器(Ruby/Python
等其它语言开发的施用为无力回天直接运行于 Tomcat 上)。

一个 HTTP Server 关心的凡 HTTP 协议层面的导和访问控制,所以在
Apache/Nginx 上您得望代理、负载均衡等效果。客户端通过 HTTP Server
访问服务器上囤积的资源(HTML 文件、图片文件等等)。通过 CGI
技术,也足以以拍卖了之情节通过 HTTP Server 分发,但是一个 HTTP Server
始终只是把服务器上之公文属实的通过 HTTP 协议传输给客户端。

要应用服务器,则是一个运执行的器皿。它首先用支持开发语言的
Runtime(对于 Tomcat 来说,就是
Java),保证应用会以应用服务器上健康运作。其次,需要支持以相关的正规,例如类库、安全地方的性状。对于
Tomcat 来说,就是亟需提供 JSP/Sevlet 运行需要的正统类库、Interface
等。为了方便,应用服务器往往也会集成 HTTP Server 的职能,但是不如专业的
HTTP Server 那么强,所以应用服务器往往是运行在 HTTP Server
的骨子里,执行下,将动态的情节转化为静态的情后,通过 HTTP Server
分发及客户端。

相关文章