1、Nignx和Tomcat的区别
- Tomcat/Jetty 等等这一类叫Web Container,也就是Web容器,所谓容器,是和他负责的东西管理整个的生命周期的。所以Web Container会管理整个Servlet的生命周期。类似的Spring 的Ioc容器则会管理整个Bean的生命周期。而GlassFish/Weblogic这一类的 application Server,则会管理更多,包含命名服务器,EJB等资源。
- Nginx/apache 可以说是web server. 也就是他们可以处理静态资源,比如html,图片等,但如果把Servlet交给它则处理不了。所以,一般把Nginx放在前端处理静态资源,如果有对应的Servlet请求,则通过AJP转给后面的Tomcat、Jetty进行处理。
Nginx相对Httpd的优点
- 轻量级,同样起 web 服务比 Httpd 占用更少的内存及资源
- 静态处理,Nginx 静态处理性能比 Httpd 高 3倍以上
- 抗并发,Nginx 处理请求是异步非阻塞的,而Httpd则是阻塞型的。在高并发下Nginx 能保持低资源低消耗高性能。在Httpd+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出Httpd进程数飙升,从而拒绝服务的现象。
- 高度模块化的设计,编写模块相对简单
- 社区活跃,各种高性能模块出品迅速
网友评论