Apache、Nginx、Tomcat的区别

一、Apache


Apache支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。

特点:

  • 性能稳定
  • 只适合静态解析
  • 功能强大
  • 高度模块化
  • 采用MPM多路处理模块
  • 速度快
  • 可做代理服务器或负载均衡
  • 支持第三方模块

二、Nginx


是一款高性能的Web服务器,以及反向代理服务器;

特点:

  • 轻量级,占用更少的内存和资源
  • 抗高并发能力强,采用的是异步网络IO模型,epoll机制
  • 实现负载均衡、反向代理,动静分离
  • 模块化设计
  • 基于事件驱动架构
  • 支持热部署:不停机更新配置文件,升级版本

三、Tomcat


是一款轻量级的应用服务器,支持动态处理,也可以认为是Apache的拓展,但是可以独立于Apache运行;

特点:

  • 动态解析容器,处理动态请求
  • 只能用作 java 服务器

四、区别


Nginx 和 Tomcat

  • Nginx常用作静态处理和代理服务器,是一个web服务器;而Tomcat是一个应用服务器,可以处理动态请求;
  • Nginx通过作为反向代理将请求分发到后面的Tomcat服务器上,本身不做处理;

Nginx 和 Apache

  • Apache一个连接对应一个进程,而nginx多个连接(万级别)可以对应一个进程,所以说Nginx在高并发方面比较有优势。
  • Apache自身内置了很多东西,无需借助其他东西就能够对几乎所有的Web类型应用进行支持;Nginx不同,需要配合其他后端使用;
  • Apache重在稳定,Nginx重在轻量高效上,现在流行的LANMP架构就是静态网页由nginx处理,动态交由apache处理,这样就能更大限度的发挥服务器性能。

Apache 和 Tomcat

  • Apcahe是一个 web 服务器,擅长静态处理;
  • Tomcat是一个应用(JAVA)服务器,擅长动态处理;

五、搭配


Apache/Nginx 和 Tomcat

  • 如果客户端请求的是静态页面,则只需要Apache/Nginx服务器响应请求。
  • 如果客户端请求动态页面,则是Tomcat服务器响应请求。

Apache 和 Nginx 和 Tomcat
在这里插入图片描述

  • 通常情况下,tomcat和nginx和apache结合使用。nginx、apache既可以提供web服务,也可以当反向代理将动态请求转发到后面的tomcat服务器上;
  • 以上的架构中:当haproxy或nginx作为前端代理时, 如果是静态内容,如html、 css等内容,则直接交给静态服务器处理;
  • 如果请求的图片等内容,则直接交给图片服务器处理;如果请求的是动态内容,则交给tomcat服务器处理,不过在tomcat服务器上,同时运行着nginx服务器;
  • 此时的nginx作为静态服务器,它不处理静态请求,它的作用主要是接受请求,并将请求转发给tomcat服务器的;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值