tomcat 与 nginx,apache的区别是什么?
2017-08-14 00:00
260 查看
HTTP服务器本质上也是一种应用程序——它通常运行在服务器之上,绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请求,这样客户端(一般来说是IE, Firefox,Chrome这样的浏览器)就能够通过HTTP协议来获取服务器上的网页(HTML格式)、文档(PDF格式)、音频(MP4格式)、视频(MOV格式)等等资源.
Apache是Apache软件基金会下的一个项目——Apache HTTP Server Project;
Nginx同样也是一款开源的HTTP服务器软件(当然它也可以作为邮件代理服务器、通用的TCP代理服务器)。
Tomcat运行在JVM之上,它和HTTP服务器一样,绑定IP地址并监听TCP端口,同时还包含以下指责:
管理Servlet程序的生命周期
将URL映射到指定的Servlet进行处理
与Servlet程序合作处理HTTP请求——根据HTTP请求生成HttpServletResponse对象并传递给Servlet进行处理,将Servlet中的HttpServletResponse对象生成的内容返回给浏览器.
一般的运用场景下,apache和nginx在负载均衡里是前端服务器,用来处理请求的转发(反向代理等);绝大部分时候他们本身并不会运行项目。tomcat和jetty,WebLogic是后端服务器,是直接用来运行项目的容器。简单来说就是你发出一个请求,先经过apache或nginx,他们会合理地把请求分配到后台比较不忙的tomcat或jetty。tomcat或jetty会把请求处理好返回给apache或nginx,然后a或n会把最终的请求结果告诉你。当然,如果是一些静态的数据,apache和nginx就可以直接返回给你了。
Nginx的职责:作为前端服务器,处理请求转发,使用场景,做应用服务器的转发(tomcat),邮件代理服务器、通用的TCP代理服务器。
tomcat后端服务器:直接运行项目的容器(java),一般不会直接去处理客户端的请求,毕竟tomcat并发量不是很大,静态的页面交给前端服务器,执行动态部分,起到资源合理配置,减少服务器压力。
apache也是作为前端服务器,不过都有插件支持动态编程语言处理,如 apache和php结合使用,apache和tomcat等。
相同点
三者都是web serverApache是Apache软件基金会下的一个项目——Apache HTTP Server Project;
Nginx同样也是一款开源的HTTP服务器软件(当然它也可以作为邮件代理服务器、通用的TCP代理服务器)。
Tomcat运行在JVM之上,它和HTTP服务器一样,绑定IP地址并监听TCP端口,同时还包含以下指责:
管理Servlet程序的生命周期
将URL映射到指定的Servlet进行处理
与Servlet程序合作处理HTTP请求——根据HTTP请求生成HttpServletResponse对象并传递给Servlet进行处理,将Servlet中的HttpServletResponse对象生成的内容返回给浏览器.
不同点
严格的来说,Apache/Nginx 应该叫做「HTTP Server」;而 Tomcat 则是一个「Application Server」,或者更准确的来说,是一个「Servlet/JSP」应用的容器(Ruby/Python 等其他语言开发的应用也无法直接运行在 Tomcat 上)。一般的运用场景下,apache和nginx在负载均衡里是前端服务器,用来处理请求的转发(反向代理等);绝大部分时候他们本身并不会运行项目。tomcat和jetty,WebLogic是后端服务器,是直接用来运行项目的容器。简单来说就是你发出一个请求,先经过apache或nginx,他们会合理地把请求分配到后台比较不忙的tomcat或jetty。tomcat或jetty会把请求处理好返回给apache或nginx,然后a或n会把最终的请求结果告诉你。当然,如果是一些静态的数据,apache和nginx就可以直接返回给你了。
总结
三者都是web server,只是侧重点不同。Nginx的职责:作为前端服务器,处理请求转发,使用场景,做应用服务器的转发(tomcat),邮件代理服务器、通用的TCP代理服务器。
tomcat后端服务器:直接运行项目的容器(java),一般不会直接去处理客户端的请求,毕竟tomcat并发量不是很大,静态的页面交给前端服务器,执行动态部分,起到资源合理配置,减少服务器压力。
apache也是作为前端服务器,不过都有插件支持动态编程语言处理,如 apache和php结合使用,apache和tomcat等。
相关文章推荐
- tomcat 与 nginx,apache的区别是什么?
- tomcat 与 nginx,apache的区别是什么?
- tomcat 与 nginx,apache的区别是什么?
- tomcat 与 nginx,apache的区别是什么?
- Apache与Tomcat有什么关系和区别
- Apache服务器和tomcat服务器有什么区别?
- Tomcat Apache和Nginx之间的区别和联系
- Apache与Tomcat有什么关系和区别
- Apache服务器和tomcat服务器有什么区别?
- Apache与Tomcat有什么关系和区别
- Apache与Tomcat有什么关系和区别
- Apache服务器和tomcat服务器有什么区别?
- Apache与Tomcat有什么关系和区别
- Apache与Tomcat有什么关系和区别
- 常见服务器Apache/Tomcat/JBOSS/Jetty/Nginx区别与对比
- Apache/Tomcat/JBOSS/Nginx区别
- Apache与Tomcat有什么关系和区别
- (012) java后台开发之Apache与Tomcat有什么关系和区别
- Apache/Tomcat/JBOSS/Nginx区别
- Apache/Tomcat/JBOSS/Nginx 的区别