走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别

Tomcat安装和配置(超详细) tomcat下载安装和配置,环境变量的配置 ,启动闪退问题 ,修改端口号 阅读详情

下面主要介绍下tomcat 与 nginx,apache的定义、区别及优缺点。

Tomcat和物理服务器的区别

Tomcat:

  1. 本质:软件 Web 应用服务器----一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
    
    • 1
  2. 用途:
    
    • 1

a. 当在一台机器(即物理服务器,也就是物理机)上配置好Apache 服务器,可利用它响应HTML页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的,Tomcat 实际上运行JSP 页面和Servlet

b. Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

物理服务器:

1.本质:硬件,也就是我们经常讲的服务器或者物理机,我们的PC就是一台性能较低的网络服务器,常见的有 云服务器(例如阿里云ECS)等

2.组成:处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

详解tomcat 与 nginx,apache的区别及优缺点

定义:

1. Apache

Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。

(Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。) 缺点:配置相对复杂,自身不支持动态页面。

2. Tomcat:

Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

3. Nginx

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。

区别

1. Apache与Tomcat的比较

相同点:

两者都是Apache组织开发的两者都有HTTP服务的功能两者都是免费的 不同点:

Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等),而Tomcat是Apache组织在符合Java EE的JSP、Servlet标准下开发的一个JSP服务器.

Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页如(ASP,PHP,CGI,JSP)等动态网页的就不行。如果要在Apache环境下运行JSP的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat。

Apache:侧重于HTTPServer ,Tomcat:侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,支持JSP,但对静态网页不太理想;

Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

实际使用中Apache与Tomcat常常是整合使用:

如果客户端请求的是静态页面,则只需要Apache服务器响应请求。 如果客户端请求动态页面,则是Tomcat服务器响应请求。 因为JSP是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。

可以理解Tomcat为Apache的一种扩展。

2. Nginx与Apache比较

  1. nginx相对于apache的优点

轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单提供负载均衡

社区活跃,各种高性能模块出品迅速

  1. apache 相对于nginx 的优点

apache的 rewrite 比nginx 的强大 ;

支持动态页面;

支持的模块多,基本涵盖所有应用;

性能稳定,而nginx相对bug较多。

  1. 两者优缺点比较

Nginx 配置简洁, Apache 复杂 ;

Nginx 静态处理性能比 Apache 高 3倍以上 ;

Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多 ;

apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程;

nginx处理静态文件好,耗费内存少;

动态请求由apache去做,nginx只适合静态和反向;

Nginx适合做前端服务器,负载性能很好;

Nginx本身就是一个反向代理服务器 ,且支持负载均衡

总结

Nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache;

Apache优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解析,适合静态HTML、图片等。

Tomcat:动态解析容器,处理动态请求,是编译JSPServlet的容器,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。

Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低,如果rewrite频繁,那还是Apache较适合。

《Tomcat与Java Web开发技术详解(第2版)》读书笔记 目录一、Web运作原理探析1.1、Web概念与特征1.2、HTTP协议简介1.3、Web发展历程三、第一个JavaWeb应用 一、Web运作原理探析 重点:理解Web的概念及其运作原理。 1.1、Web概念与特征 1990年,互联网之父Berners-Lee在自己编写的图形化Web浏览器"WorldWideWeb"上成功的访问了第一个名为"nxoc01.cern.ch"的Web服务器。经过几十年的... 阅读详情

相关推荐

别再手动连线了!用Tessent IJTAG的SIB和TDR,5分钟搞定复杂芯片的DFT网络分区

本文探讨了如何利用Tessent IJTAG的SIB(Segment Insertion Bit)和TDR(Test Data Register)技术,高效解决复杂芯片DFT网络分区问题。通过智能化的扫描链管理和声明式定义,显著降低连接复杂度,提升测试覆盖率和良率,适用于超大规模SoC设计。

weixin_29251131的博客 300

tomcat和nginx

在 2024 年及未来,微服务、云原生架构和 DevOps 实践Nginx 更适合处理边缘请求:流量分发、安全过滤、缓存优化等。Tomcat 专注于动态逻辑:结合 Java 技术栈,适用于复杂的后台服务。这种分层设计确保了性能与扩展性的平衡,同时也符合未来分布式系统的最佳实践。动态与静态内容分离的实践配置是现代Web架构优化的常见方案,能够提高网站性能、扩展性和安全性。

weixin_46689397的博客 2251

使用 Wireshark 进行计算机网络协议分析

文章目录实验前准备一、Wireshark抓包示例二、Wireshark实作1、数据链路层实作一 熟悉Ethernet帧结构实作二 了解子网内/外通信时的 MAC 地址实作三 掌握 ARP 解析过程2、网络层实作一 熟悉 IP 包结构实作二 IP 包的分段与重组实作三 考察 TTL 事件3、传输层实作一 熟悉 TCP 和 UDP 段结构实作二 分析 TCP 建立和释放连接4、应用层实作一 了解 DNS 解析实作二 了解 HTTP 的请求和应答 实验前准备 本部分实验用到的是抓包和协议分析软件——Wiresha

weixin_51087836的博客 8199

Nginx和Tomcat的区别

nginx和tomcat的区别 web上的server都叫web server,但是大家分工也有不同的。 nginx常用做静态内容服务和代理服务器(不是你翻墙那个代理),直面外来请求转发给后面的应用服务(tomcat,django什么的),tomcat更多用来做做一个应用容器,让java web app跑在里面的东西,对应同级别的有jboss,jetty等东西。 但是事无绝对,nginx也可以通过模块开发来提供应用功能,tomcat也可以直接提供http服务,通常用在内网和不需要流控等小型服务的场景。

m0_38054145的博客 2554

中微8S6990实战:5分钟搞定GPIO配置与按键中断(附避坑指南)

本文以中微8S6990单片机为例,详细讲解了GPIO按键中断的快速配置方法与实战避坑指南。内容涵盖GPIO初始化、中断配置、软件消抖优化及低功耗唤醒等关键步骤,并提供了利用逻辑分析仪进行调试验证的有效方法,帮助开发者快速构建稳定可靠的嵌入式按键交互系统。

weixin_29194817的博客 280

GJB软件需求规格说明-编制指南

《软件需求规格说明》是软件开发过程必不可少的文档,并且需要评审,也是后续鉴定试验的依据,因此,非常有必要认真对待此文档。 文档对于很多开发技术人员来说是一件非常头疼的事,虽然标准有要求,但是光看标准还是难以下笔。 本文将详细讲解如何按照GJB 438C的要求编写《软件需求规格说明》。 注:文中有背景颜色内容为标准内容,加粗部分为范例。斜体部分为解释。 全文1.3万字

Abel的博客 6352

tomcat与servlet

tomcat与servlet

m0_69468924的博客 1231

基于物联网设计温室水培系统(NBIOT+华为云IOT)_338

本项目设计并实现了一套基于物联网的温室水培系统。系统以STM32F103RCT6单片机为核心控制器,结合SHT30温湿度传感器、SGP30二氧化碳传感器、BH1750光照传感器及液位检测传感器等硬件,实现对温室内环境参数的实时采集。系统支持自动和手动两种控制模式,能够根据传感器数据自动控制补光灯、通风风扇、遮光卷帘、降温水帘及营养液补充电机。通过NBIoT模块,系统可将采集的数据通过MQTT协议上传至华为云IOT平台,用户可通过Android手机APP或Windows上位机进行远程监控与控制。

413

有Tomcat,为什么还用Nginx?两者有什么区别?

当有多个Tomcat实例运行同一个应用程序时,Nginx可以作为负载均衡器,根据一定的策略将请求分发给不同的Tomcat实例。当你的应用有大量静态文件(如图片、CSS、JavaScript)时,Nginx 可以更高效地处理这些请求,减轻 Tomcat 的负载,提高整体性能。Nginx以其出色的性能和高并发处理能力而闻名,可以处理大量的并发连接和请求。综上所述,使用Nginx作为Tomcat的前端服务器可以提升系统的性能、可伸缩性和安全性,同时还可以通过负载均衡和反向代理等功能来优化Web应用的部署和运行。

广漂程序猿DevinRock 1万+

人工智能训练师三级考试题型全解析|190道真题样例+30天备考路线

人工智能训练师三级考试并不神秘:理论考190道选择题(刷题就能过),实操考代码+方案设计(练练就会)。核心是花时间——30天系统备考,足以从容通过。如果你想从零开始系统备考,覆盖所有考点和实操技能,欢迎查看我的专栏:📖《人工智能训练师三级·从零到拿证完全指南》80篇系统化内容,覆盖报名、备考、冲刺、拿证全流程六大模块知识点逐个击破,每个考点都讲透实操代码题手把手教学,附带完整参考代码高频考点速记 + 易错题精讲 + 3套模拟试卷30天备考计划 + 冲刺复习策略。

白话机器学习 6066

深度剖析OpenHarmony AI Engine:开发板端侧大模型推理插件机制全链路拆解

/ 加载动态库// 获取符号地址// 关闭动态库// 获取错误信息public:// 单例获取// 销毁实例// 加载插件// 卸载插件private:// 获取插件实例// 插件映射锁// 插件映射表public:Plugin();~Plugin();// 加载算法// 卸载算法// 获取算法实例// 设置算法实例private:// 算法接口指针// 动态库句柄// 算法ID// 版本信息// 配置信息字符串int len;

m0_67505153的博客 509

Web容器(一):Web容器简介

本文参照:极客时间-《深入拆解 Tomcat & Jetty》-开篇词 | Java程序员如何快速成长 + 01_Web容器学习路径 Web容器 Web技术的发展史 早期的Web应用主要用于浏览新闻等静态页面,HTTP服务器(比如Apache、Nginx)向浏览器返回静态HTML,浏览器负责解析HTML,将结果呈现给用户。 随着互联网的发展,我们已经不满足于仅仅浏览静态页面,还希望通过一些...

hzk1562110692的专栏 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JavaWeb入门指南:开启您的Web开发之旅

本博主将用优快云记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!Java Web指的是使用Java编程语言开发的Web应用程序。通常,这类应用程序运行在Java Web服务器(如Apache Tomcat、Jetty等)上,而不是在本地计算机上的JVM上运行。

weixin_52533007的博客 3408

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Web容器和Tomcat关系

一、Web容器   所有的程序运行都需要有一个必要的运行环境。这个环境可以是软件,也可以是硬件,或者是软件和硬件的结合。比如说Windows操作系统需要运行在硬件基础上;Office软件需要运行在操作系统上。并且程序与运行环境之间会有一定的数据交换,比如操作系统会将运行指令传递给硬件,硬件也会将指令运行结果传递给操作系统。JavaWeb程序也需要一个运行环境才能够执行。这种运行JavaWeb程序的...

胖大海的博客 821

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

javaweb的容器

javaweb里有各种容器的概念,查了很多资料,发现有几个大神讲的很好,现在摘抄,做个记录,方便以后回顾。 常见的各种容器  一、Tomcat 容器模型                                          二、Tomcat 下的Servlet容器 一个 Web 应用对应一个 Context 容器,也就是 Servlet 运行时的 Servlet 容器。 在...

qq_20920119的博客 1682

web容器(tomcat)

tomcat是一个优秀的java web应用容器,帮助我们管理着servlet(可以理解服务器端处理数据的java小程序)等,使我们只需要将重心专注于业务逻辑。说白了就是管理我们的程序的容器,处理加载、实例化、垃圾回收等等一系列和业务无关的操作。 什么是web容器? servlet没有main方法,那我们如何启动一个servlet,如何结束一个servlet,如何寻找一个servlet等等,都...

weixin_41249041的博客 979

JavaWeb和Tomcat_常见的Web服务器

文章目录1、JavaWeb是什么?1.1什么是JavaWeb1.2什么是请求1.3什么是响应1.4请求和响应的关系2.Web 资源的分类3.常用的 Web 服务器4.Tomcat 服务器和 Servlet 版本的5.Tomcat 的使用5.1安装5.2目录介绍5.3如何启动 Tomcat 服务5.4另一种启动 tomcat 服务器的方法5.5Tomcat 的停止5.6如何修改 Tomcat 的端口号5.7如何部暑 web 工程到 Tomcat 中5.8如何访问 Tomcat 下的 web 工程。5.9第二种

weixin_53330986的博客 933

各种容器与服务器的区别与联系:Servlet容器 WEB容器 Java EE容器 应用服务器 WEB服务器 Java EE服务器

经常看到各种容器名称:Servlet容器、WEB容器、Java WEB容器、Java EE容器等,还有各种服务器名称:应用服务器、WEB服务器、WEB应用服务器、Java WEB应用服务器、Java EE服务器等, 下面我们尝试区分它们,找出他们之间的联系,最后通过Apache、nginx、tomcat等举例说明容器以及服务器的联系。

tjiyu的博客 1万+

Java Web 与 Tomcat

一、Web 服务器、中间件与容器 1、Web 服务器 web服务器(Web Server):web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序。 Web服务器可以处理 HTTP 协议,响应针对静态页面或图片的请求,进行页面跳转,或者把动态请求委托其它程序(它的扩展、某种语言的解释引擎(php)、Web容器)。它可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。 目前最主流的三个Web服务器是Apache、 Nginx 、IIS。 2、中间

IT__learning的博客 2898

Java面试复习总结(JavaWeb篇6)——Tomcat和其他WEB容器的区别

目录 Tomcat和物理服务器的区别 Tomcat: 物理服务器: 详解tomcat 与 nginx,apache的区别及优缺点 定义: 区别 总结 Tomcat和物理服务器的区别 Tomcat: 1.本质:软件 Web 应用服务器----一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发...

Slayer_Zhao的博客 640

java和javaweb的区别_Java项目和Web项目的区别

1.Java Web项目是基于Java EE类的;而Java项目是基于Java应用程序的。2.Java项目主要面向桌面程序的应用,主要是awt、swing这类的编码,不包括JSP等前台页面的代码,大部分是CS架构的工程和一些jar包。JavaWeb项目是BS架构的系统,是网页的编码,像Jsp、Servlet、Struts这类的, JavaWeb项目部署到服务器上,任何用户都可以通过浏览器来访问。3...

weixin_42503482的博客 7249

JavaWeb-web概念

一、web概念:  Java Web是Java EE技术体系的一部分,是目前所有Web开发技术最复杂的一种。相关概念? Web,网页的意思,表示Internet主机上供外界访问的资源。资源分为 静态web资源(如html页面),指web页面中供人们浏览的数据始终不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

Continue. 1773
上一篇: 走进JavaWeb技术世界6:Tomcat5总体架构剖析
下一篇: 走进JavaWeb技术世界8:浅析Tomcat9请求处理流程与启动部署过程
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值