Nginx tomcat apache 异同

简介

  • Tomcat与Nginx、Apache都是web server,Nginx和Apache更偏向于web服务器中的http服务器,即tomcat通常用作servlet容器,而apache和nginx通常用作http server

  • Nginx同Apache一样都是一种HTTP服务器,通过HTTP协议提供服务,HTTP服务器本质上也是一种应用程序——它通常运行在服务器之上,绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请求。

  • Tomcat一般作为web项目的容器,用来运行jsp/servlet,被广泛用来作为java项目的容器。虽然Tomcat也可以认为是HTTP服务器,但通常它仍然会和Nginx配合在一起使用。

关系

Tomcat与Nginx、Apache的关系如下图。由配送中心选择Apache、Nginx中的某一辆货车将包裹送给客户。虽然Apache、Nginx两辆车的用途是一样的,仔细区分它们两还是有区别的,比如:货物装载的速度、方式不一样,Apache有水箱可以直接运送活鱼而Nginx没有。

228

  • Apache支持模块多,性能稳定。Apache本身是静态解析(静态页面),适合静态的HTML、图片等,但可以通过扩展脚本、模块来支持动态页面等。Apche可以支持PHP、CGI、Perl,但要使用Java就需要Tomcat,Java请求会通过Apache转发给Tomcat处理;
  • Nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP、POP3、SMTP代理服务器。Nginx本身不支持生成动态页面,很大部分Web服务器使用Nginx,主要通过Nginx的反向代理来实现负载均衡器。
  • tomcat通过servlet动态生成内容并返回给客户端,而apache和nginx通常用作静态服务器,比如将静态html页面、js、css等文件直接返回给客户端,而不将此类静态请求转发给后端的tomcat以减轻其压力,动静分离。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×