各种容器和服务器之间的区别和联系

各种容器和服务器之间的区别和联系,第1张

平时我们经常看到各种容器名称:Servlet容器、WEB容器、Java WEB容器、Java EE容器等,还有各种服务器名称:应用服务器、WEB服务器、WEB应用服务器、JavaWEB应用服务器、Java EE服务器等,这么多相似名称,难以弄明白它们之间的区别与联系。

下面我们尝试从它们的定义中,区分它们,找出他们之间的联系,最后通过Apache、nginx、tomcat等举例说明容器以及服务器的联系。

如上图,我们先来看下容器与服务器的联系:容器是位于应用程序/组件和服务器平台之间的接口集合,使得应用程序/组件可以方便部署到服务器上运行。

容器通常理解就是装东西的,我们这里说技术上的容器就是 可以部署应用程序,并在上面运行的环境

一般来说,它处理屏蔽了服务器平台的复杂性,使得应用程序在它的基础上可以方便快捷的部署;而对于应用程序来说,它就是位于 应用程序和平台之间的接口集合

容器管理组件的生命周期,向应用程序组件分派请求,并提供与上下文数据(如关于当前请求的信息)的接口。

Servlet:属于Java EE重要技术规范,构建了"接收请求--调用servlet程序处理--返回响应"基本模型。

Servlet程序:Java提供了开发Servlet程序的API,该API可以说Servlet容器的一部分,它对接应用程序与Servlet容器;

Servlet容器:就是实现了Servlet技术规范的部署环境,它可以部署运行Servlet程序。

WEB容器:可以部署多个WEB应用程序的环境。web容器给处于其中的应用程序组件(jsp,servlet)提供一个环境,使JSP,Servlet直接跟容器中的环境变量交互,不必关注其他系统问题。

Java WEB容器:实现了 Java EE规定的WEB应用技术规范 的部署环境。

Java EE WEB应用技术规范:Servlet、JSP(JavaServer Pages)、Java WebSocket等。

所以,完整的Java WEB容器包含Servlet容器。

服务器是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

简单来说,服务器是 提供某些服务的设备

应用程序:是指为针对使用者的某种应用目的所编写的软件。

应用服务器:就是运行应用程序,提供应用程序所实现服务的设备。

通常来说, 服务器端的应用程序实现各种业务逻辑,应用服务器通过各种协议把这些业务逻辑曝露给客户端的程序 。它提供了访问商业逻辑的途径,以供客户端应用程序使用。应用服务器使用此业务逻辑就像调用对象的一个方法一样。

WEB:现广泛译作网络、互联网等技术领域。表现为三种形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(>nginx:跑PHP,轻量级web服务器
apache:跑PHP,市场最大
tomcat:跑JSP,可以和apache整合。
需要使用nginx可以用护卫神nginx大师
需要apache+tomcat,可以用护卫神apache大师
需要tomcat,可以用护卫神jsp大师。

tomcat和nginx都是软件,提供web服务的软件,一般我们把这些软件安装在服务器上就可以叫做tomcat服务器,或者nginx服务器,阿里云、腾讯云都是云服务器提供商,简单的说就是他们是把服务器集群做好以后,你通过购买一定的使用空间获得服务器服,在通过BGP专线连接到服务器上,这样就搭建好了一台云服务器,这就是大型公有云,你也可以到当地运营商自己申请专线宽带或者私有IP地址,然后把你的服务器直接连接在这个专线上,这就是最简单的私有云。

阿里云是个服务器厂商,tomcat 是个 服务器软件。
tomcat和nginx都是软件,提供web服务的软件,一般我们把这些软件安装在服务器上就可以叫做tomcat服务器,或者nginx服务器,阿里云、腾讯云都是云服务器提供商,简单的说就是他们是把服务器集群做好以后,你通过购买一定的使用空间获得服务器服,在通过BGP专线连接到服务器上,这样就搭建好了一台云服务器,这就是大型公有云,你也可以到当地运营商自己申请专线宽带或者私有IP地址,然后把你的服务器直接连接在这个专线上,这就是最简单的私有云。
服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可用的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面的要求较高。在正常的网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。

你可以理解成weblogic、apache、tomcat、nginx都是服务器,不过各自的优缺点不同
而且因为各自的特点不同,有的时候可以互相配合着用,比如apache+tomcat,因为apache静态化做的好,所以可以配合用,apache+weblogic一起用,也是因为apache静态化好,减轻服务器压力

nginx,tomcat,apache其实都是常见的web服务器,主要是用来部署web应用程序的,当然nginx更典型的应用场景是作为负载均衡器来使用;针对apache,我们可以在服务端运行命令>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13408267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存