nginx与tomcat的区别?

关于nginx和tomcat的概念

网上有很多关于nginx和tomcat是什么东西的定义,我总结了一下:

tomcat是Web服务器HTTP服务器、应用服务器、Servlet容器、web容器。
Nginx是Web服务器HTTP服务器、正向/反向代理服务器,。
这里有两个概念是交叉的:Web服务器和HTTP服务器。我们主要是从交叉概念来看这两个的区别,因为没有交叉的概念已经从名字说明了它们的不同。

交叉概念一:Web服务器

tomcat和Nginx都是Web服务器,当然,Web服务器的概念很广泛。Web服务器代指硬件或软件,或是它们协同工作的整体。

  1. 硬件部分:Web服务器是一台计算机,存储了Web服务器软件以及网站的组成文件(比如HTML文档、图片、CSS等)。它接入到互联网,并支持与其他互联网设备进行物理数据的交互。
  2. 软件部分:Web服务器包括控制网络用户如何访问托管文件的几个部分,至少是一台HTTP服务器

所以,光从Web服务器的概念无法看出nginx和tomcat的区别。

交叉概念二:HTTP服务器

nginx和tomcat都是HTTP服务器,可以运行在服务器上,绑定服务器的ip地址,并监听某一个tcp端口来接收或处理http请求。
在这里插入图片描述
静态资源:无论何时,无论谁访问都是一样的。比如将静态文本通过HTTP协议返回给客户端
动态资源:不同时间、不同客户端访问的是不一样的

tomcat能够动态的生成资源并返回客户端,也可以返回客户端静态的资源
在这里插入图片描述
nginx只能返回客户端静态的资源
在这里插入图片描述
所以,war包不能部署到nginx上,war包需要部署到servlet容器中,也就是Tomcat中。
ngxin可以做正向代理、反向代理服务器的功能。

tmocat和nginx的区别

TomcatNginx
HTTP服务器
Servlet容器不是
响应静态资源可以(war里面,ROOT目录下)可以(html目录下)
响应动态资源可以不可以
正向代理不可以可以
反向代理不可以可以

tomcat和nginx配合使用

我们通常的做法是将tomcat和Nginx配合起来使用:

  • 动静态资源分离,通过nginx反向代理功能,将所有动态资源的请求转发给Tomcat。而静态资源则由nginx返回浏览器
  • 负载均衡,当业务压力增大,一个tomcat实例不足以处理时,可以创建多个tomcat实例,每个实例都是一摸一样的,处理监听的tcp接口不一样。然后利用nginx反向代理功能,将http请求转发给这些实例中的某一个来处理,采用特定的算法来转发,实现负载均衡。
  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值