常见的Web应用中间件(基于Linux)

这篇具有很好参考价值的文章主要介绍了常见的Web应用中间件(基于Linux)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在整理常用的Web中间件时,我发现自己对于Web服务器、Web中间件和Web容器的概念容易混淆,所以在整理常见的Web应用中间件时,我想先区别一下Web服务器、Web中间件和Web容器。

Web服务器

        Web服务器也可以称为网站服务器,时提供Web服务的软件或主机,Web服务器可以处理HTTP协议,响应针对静态页面或图片的请求,进行页面跳转,或者把动态请求委托给其他程序。Web服务器可以向Web浏览器等客户端提供文档,也可以放置网站文件,让全世界浏览,更可以放置数据文件,让全世界下载。常见的Web服务器有IIS、Apache、nginx和Tomcat等。

Web中间件

        中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。

        也就是说,关于中间件,我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。(注意:中间件是一类软件的总称,不是单独的一个软件)。

Web容器

        为了与页面产生交互操作,来获取动态结果,需要一些扩展机制能够让HTTP服务器调用服务端程序,Servlet技术产生了,可以把Servlet简单理解为运行在服务端的Java小程序,但是Servlet没有main方法,不能独立运行,因此必须把它部署到Servlet容器中,由容器来实例化并调用Servlet。而Tomcat和Jetty就是一个Servlet容器。为了方便使用,它们也具有HTTP服务器的功能,因此Tomcat或者Jetty就是一个“HTTP服务器 + Servlet容器”,我们也叫它们Web容器

总结

        通过以上的概念理解,这三者其实是有包含关系的。

Web服务器:IIS、Apache、Nginx、Tomcat、Jboss、Jetty、Weblogic、Webshere、Glasshfish、Lighttpd等

Web中间件:Tomcat、Jboss、Jetty、Weblogic、Webshere、Glasshfish等

Web容器:IIS(asp容器)、Tomcat(servlet容器)、Jboss(EJB容器)

        所以应该是 Web服务器>Web中间件>Web容器。


        接下来整理基于Linux系统下的常见的Web中间件。

一、Apache(httpd)

        Apache HTTPD又可以简称为httpd或者Apache,它是Internet使用最广泛的web服务器之一,使用Apache提供的web服务器是由守护进程httpd,通过http协议进行文本传输,默认使用80端口的明文传输方式,当然,后来,为了保证数据的安全和可靠性,又添加了443的加密传输的方式,Apache提供的服务器又被称为:补丁服务器,原因很简单,它是一款高度模块化的软件,想要给它添加相应的功能只需添加相应的模块,让其Apache主程序加载相应的模块,不需要的模块也可以不用加载,保证了Apache的简洁,轻便,高效性,当出现大量访问一个服务器是可以使用多种复用模式,保证了服务器能快速回应客户端的请求,如MPM,端口复用技术。

  • 特点: 
  1. 开放源代码
  2. 跨平台使用,支持绝大多数硬件平台,支持所有的unix系统和linux系统,支持大多数windows平台
  3. 支持多种web编程语言,perl,php,python,java等
  4. 模块化设计,根据所需功能去安装不同的模块
  5. 运行非常稳定,支持大负载访问的web站点
  6. 安全性高,及时修复已发现的漏洞

二、Tomcat

        适用于本地开发,小项目,或者是个人开发(免费的开放源代码的Web 应用服务器),Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet,但是Tomcat处理静态[HTML]的能力不如Apache服务器。

  • 特点:
  1. 支持最新标准(SUN的专家经常和TOMCAT的开发人员在一起混)
  2. 更新快
  3. 跨平台
  4. 体积小,安装和部署都方便

三、weblogic

        大项目或者商业项目,Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中,是美国bea公司出品的一个基于j2ee架构的中间件。

  • 特点
  1. 简化了可移植及可扩展的应用系统的开发,并为其它应用系统和系统提供了丰富的互操作性
  2. 商业软件,功能齐全强大,主要应用于大型企业的大型项目
  3. 是高扩展的架构体系

四、jetty

        一些示例项目或者小项目常(开源的servlet容器),是使用Java语言编写的,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使[自动化测试]不再依赖外部环境,顺利实现自动化测试。

  • 特点
  1. 具有易用性、可扩展性、易嵌入性
  2. 快速高效

五、JBoss

        管理EJB的容器和服务器(开放源代码的项目),JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发。

  • 特点
  1. 应用服务器还具有许多优秀的特质。
  2. 需要的内存和硬盘空间比较小。
  3. 安装便捷:解压后,只需配置一些环境变量即可。
  4. 支持"热部署",部署BEAN时,只拷贝BEAN的JAR文件到部署路径下即可自动加载;如果有改动,也会自动更新。Boss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。
  5. 用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。
  6. Jboss支持[集群]。

六、WebSphere

        IBM 的软件平台,它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。WebSphere 是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和持久的接口,将现有资产插入 WebSphere,可以继续扩展环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。

  • 特点
  1. 满足大量应用的需要
  2. 运行于多种硬件和OS平台
  3. 支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互
  4. 支持标准的协议
  5. 支持标准的接口

七、nginx

        Nginx 是高性能的 HTTP 和反向代理的web服务器,Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。文章来源地址https://www.toymoban.com/news/detail-463691.html

  • 特点:
  1. 跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本。
  2. 配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置。
  3. 非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数.(这得益于Nginx使用了最新的epoll模型)。
  4. 内存消耗小
  5. 稳定性高:用于反向代理,宕机的概率微乎其微。nginx代理和后端web服务器间无需长连接。

到了这里,关于常见的Web应用中间件(基于Linux)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云计算学习教程】什么是中间件?常见中间件有哪些?

    3)最后 Apache 把这个临时的静态网页文件发给用户。 采用 Perl、Python 和 Ruby 脚本语言编写的动态网页,其工作过程与 PHP 类似。 Apache 是最流行的开源网站服务器,在世界排名前 100 万的网站中,有 60.6% 的网站采用 Apache;在排名前 1000 的大型网站中,Apache 占到了 34.5%,而 N

    2024年04月22日
    浏览(41)
  • 笔记:常见中间件漏洞

    Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的Cookie, 在服务端对rememberMe的Cookie值先base64解码然后AES解密再反序列化 序列化:序列化=》使用密钥进行AES加密=》base64加密 反序列化:base64解密=》使用密钥进行AES解密=》反序列化 因为默

    2024年02月13日
    浏览(42)
  • 常见中间件

      中间件运行在系统软件和应用软件之间,以便于各部件之间的沟通。他充当的功能是:将应用程序运行环境与操作系统隔离,从而让开发者不必为更多系统问题忧虑,直接关注该应用程序在解决问题上的能力。 提供解析网站代码的一个容器或环境。 常见中间件  IIS IIS是一

    2024年02月09日
    浏览(37)
  • 常见消息中间件分享

    消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。 消息中间件的使用有几个核心角色,如下图所示: Producer 生产者 :负责生产消息,将消息发送到消息队列中。 Consumer 消费者 :负责消费使用消息,从消

    2024年02月21日
    浏览(44)
  • 业界常见分库分表中间件

    Cobar(已经被淘汰没使用了) TDDL 淘宝根据自己的业务特点开发了 TDDL (Taobao Distributed Data Layer) 基于JDBC规范,没有server,以client-jar的形式存在,引入项目即可使用 开源功能比较少,阿里内部使用为主 Mycat 地址 http://www.mycat.org.cn/ Java语言编写的MySQL数据库网络协议的开源中

    2024年02月16日
    浏览(48)
  • LNMT(linux下nignx+mysql+tomcat(中间件)应用)部署应用、及各服务介绍、部署开源站点jpress

    目录 一、环境准备 二、tomcat1和tomcat2服务器,安装配置tomcat 1.tomcat服务器介绍 2.JDK软件介绍 3.查看JDK是否安装 4.tomcat1和tomcat2服务器,安装JDK1.8.0_191(JDK必须和nginx版本相适应,不然一直报错) 5.安装并启动apache-tomcat-8.5.16  6.关闭tomcat 7.tomcat配置目录及文件说明 三、自定义默

    2024年02月12日
    浏览(72)
  • 中间件安全—Apache常见漏洞

      简单介绍一下apache是什么,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将python等解释器编译到服务器中。 1.2.1.漏洞

    2024年01月22日
    浏览(51)
  • 中间件安全—Nginx常见漏洞

      在上篇中间件安全—Apache常见漏洞中,并未对中间件漏洞进行解释,这里补充一下。   所谓的中间件漏洞就是并非是由于代码程序上设计存在缺陷而导致的漏洞,而是属于应用部署中环境配置不当或使用不当而导致的漏洞,同时这方面的漏洞也是最容易被管理员忽略的

    2024年02月09日
    浏览(45)
  • 消息中间件中常见问题

    MQ的用途 异步发送(验证码,短信,邮件) MySQL,ES,Redis之间的数据同步 分布式事务 削峰填谷 消息可能丢失的环境 消息在产生端时候生产端挂掉,消息未到达交换机,消息丢失 消息在交换机未到达队列,消息丢失 消息队列中如果队列挂掉消息也可能丢失 消费者未接收消

    2024年02月15日
    浏览(44)
  • 中间件安全—Tomcat常见漏洞

      整个复现环境均使用Vulhub一键搭建漏洞测试靶场,Vulhub靶场:链接 1.2.1.漏洞原理   Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致可以使用PUT方法上传任意文件,攻击者将精心构造的payload向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被

    2024年02月08日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包