Tomcat和Nginx的区别

  1. nginx在负载均衡里是前端服务器,用来处理请求的转发(反向代理等);是静态页面服务器.绝大部分时候他们本身并不会运行项目。
  2. Tomcat是后端服务器,属于Java Servlet容器.用来生成动态页面.是直接用来运行项目的容器。简单来说就是你发出一个请求,先经过nginx,它们会合理地把请求分配到后台比较不忙的TomcatTomcat会把请求处理好返回给Nginx,然后Nginx会把最终的结果传送给浏览器.当然,如果是一些静态的数据,Nginx就可以直接处理了。

  3. Tomcat/Jetty 等等这一类叫Web Container,也就是Web容器,所谓容器,是和他负责的东西管理整个的生命周期的。所以Web Container会管理整个Servlet的生命周期。类似的SpringIoc容器则会管理整个Bean的生命周期。而GlassFish/Weblogic这一类的 application Server,则会管理更多,包含命名服务器,EJB等资源。

  4. Nginx/apache 可以说是web server,也就是他们可以处理静态资源,比如html、图片等,但如果把Servlet交给它则处理不了。所以,一般把Nginx放在前端处理静态资源,如果有对应的Servlet请求,则通过AJP转给后面的Tomcat、Jetty进行处理。
  5. tomcat用在java后台程序上,java后台程序难道不能用apachenginx吗?”不能。apachenginx不是servlet容器。什么是servlet容器呢?即实现HttpServletRequestHttpServletResponseHttpSession等等接口,解析http请求,通过类加载器加载对应的servlet实现类并调用。也就是说servlet容器必须由java或者基于jvm的语言实现。
-------------本文结束感谢您的阅读-------------

本文标题:Tomcat和Nginx的区别

文章作者:老米的世界

发布时间:2017年08月02日 - 00:00

最后更新:2019年09月05日 - 22:06

原始链接:http://mpfly.github.io/2017/08/02/Tomcat和Nginx的区别/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

老米的世界 wechat
欢迎关注我的微信公众号!
坚持原创技术分享,您的支持将鼓励我继续创作!