Nginx和Tomcat区别

一、nginx经常使用作静态内容服务和代理服务器java

  • 直面外来请求转发给后面的应用服务
  • nginx也能够经过模块开发来提供应用功能
  • Apache/Nginx 应该叫作「HTTP Server」

二、tomcat更多用来作作一个应用容器,让java web app跑在里面的东nginx

  • 同级别的有jboss,jetty等东西
  • tomcat也能够直接提供http服务,一般用在内网和不须要流控等小型服务的场景
  •  Tomcat 则是一个「Application Server」
  • 更准确的来讲,是一个「Servlet/JSP」应用的容器
  • Ruby/Python 等其余语言开发的应用也没法直接运行在 Tomcat 上

三、 HTTP Server 关心的是 HTTP 协议层面的传输和访问控制web

  • 在 Apache/Nginx 上你能够看到代理、负载均衡等功能
  • 客户端经过 HTTP Server 访问服务器上存储的资源(HTML 文件、图片文件等等)
  • CGI 技术,也能够将处理过的内容经过 HTTP Server 分发
  • HTTP Server 始终只是把服务器上的文件如实的经过 HTTP 协议传输给客户端

四、应用服务器,则是一个应用执行的容器tomcat

  • 首先须要支持开发语言的 Runtime(对于 Tomcat 来讲,就是 Java)
  • 保证应用可以在应用服务器上正常运行
  • 须要支持应用相关的规范,例如类库、安全方面的特性

五、为了方便,应用服务器每每也会集成 HTTP Server 的功能安全

  • 可是不如专业的 HTTP Server 那么强大
  • 因此应用服务器每每是运行在 HTTP Server 的背后,执行应用
  • 将动态的内容转化为静态的内容以后,经过 HTTP Server 分发到客户端
相关文章
相关标签/搜索