行业知识
Tomcat概念、安装及相关文件介绍
���录
一、web技术
1、C/S架构与B/S架构
1.1 http协议与C/S架构
1.2 http协议与B/S架构
2、前端三大核心技术
2.1 HTML(Hypertext Markup Language)
2.2 css(Cascading Style Sheets)
2.3 JavaScript
3、同步和异步
4、web架构
4.1 web资源和访问
4.2 后台应用架构
4.2.1 单体应用架构
4.2.2 微服务
二、Java基础
1、java概念
2、java组成
3、java如何实现动态网页功能
3.1 servlet
3.2 jsp
4、Java的开发工具包jdk
5、Java虚拟机(JVM)的各种版本
5.1 Oracle JDK 版本
5.2 OpenJDK
三、Tomcat
1、Tomcat概述
2、安装Tomcat
2.1 安装oraclejdk
2.1.1 rpm安装
2.1.2 二进制安装
2.2 安装Tomcat
3、Tomcat相关文件
3.1 目录文件
3.2 普通文件
3.3 bin目录下的启动文件
3.4 conf目录下的配置文件
3.5 日志文件
3.6 临时文件和缓存文件
拓展:版本升级
3.7 webapps目录文件
3.8 访问目录
4、Tomcat组件
4.1 组件分层和分类
4.2 tomcat处理请求过程
4.3 Tomcat核心组件
5、tomcat端口号
5.1 8005端口
5.2 8009端口
5.3 8080端口
一、web技术
1、C/S架构与B/S架构
1.1 http协议与C/S架构
操作系统有进程子系统,使用多进程就可以充分利用硬件资源。进程中可以多个线程,每一个线程可以被CPU调度执行,这样就可以让程序并行的执行。这样一台主机就可以作为—个服务器为多个客户端提供计算服务。
客户端和服务端往往处在不同的物理主机上,它们分属不同的进程,这些进程间需要通信。跨主机的进程间通信需要使用网络编程。最常见的网络编程接口是socket。
Socket 称为套接字,本意是插座。也就是说网络通讯需要两端,如果一端被动的接收另一端请求并提供计算和数据的称为服务器端,另一端往往只是发起计算或数据请求,称为客户端。
这种编程模式称为 Client/Server 编程模式,简称C/S编程,开发的程序也称为C.S程序。C/S编程往往使用传输层协议(TCP/UDP),较为底层,比如: QQ,迅雷,云音乐,云盘, foxmail, xshell等。
1.2 http协议与B/S架构
1990年 HTTP 协议和浏览器诞生。在应用层使用文本跨网络在不同进程间传输数据,最后在浏览器中将服务器惴返回的HTML渲染出来。由此,诞生了网页开发。
网页是存储在 WEB 服务器端的文本文件,浏览器发起HTTP请求后,到达WEB服务程序后,服务程序根据 URL 读取对应的HTML文件,并封装成 HTTP 响应报文返回给浏览器端。起初网页开发主要指的是 HTML、CSS 等文件制作,目的就是显示文字或图片,通过超级链接跳转到另一个HTML并显示其内容。后来,网景公司意识到让网页动起来很重要,伴着 SUN 的 java 的名气,发布了JavaScript语言,可以在浏览器中使用5引攀执行的脚本语言,可以让网页元素动态变化。网页动起来了。
为了让网页动起来,微软使用 ActiveX 技术、SUN的 Applet 都可以在浏览器中执行代码,但都有安全性问题。能不能直接把内容直接在WEB服务器端组织成HTML,然后把HTML返回给浏览器渲染呢?
最早出现了 CGl (Common Gateway Interface)通用网关接口,通过浏览器中输入URL直接映射到一个服务器端的脚本程序执行,这个脚本可以查询数据库并返回结果给浏览器端。这种将用户请求使用程序动态生成的技术,称为动态网页技术。先后出现了 ASP、PHP、JSP 等技术,这些技术的使用不同语言编写的程序都运行在服务器端,所以称为WEB后端编程。有一部分程序员还是要编写HTML、CSS、JavaScript,这些代码运行在浏览器端,称为WEB前端编程。合起来称为Browser/Server编程,即B/S编程。
2、前端三大核心技术
2.1 HTML(Hypertext Markup Language)
一种用于创建网页的标记语言。它是Web页面的基础,用于描述页面的结构和内容。
HTML通过使用各种标签(例如、、、等)来定义页面的结构和内容,包括文本、链接、图像、表格、表单等元素。浏览器解释HTML代码并将其呈现为用户可读的页面。
HTML技术的主要目标是为Web内容提供语义结构,使得文档的结构和内容能够被清晰地定义,从而实现跨平台的一致性和可访问性。
HTML还能够通过链接(hyperlinks)来连接不同页面,实现超文本(hypertext)的交互性。此外,HTML5作为HTML的最新版本,引入了许多新特性,如多媒体支持、本地存储、Canvas绘图等,使得Web应用程序开发更加丰富和灵活
2.2 css(Cascading Style Sheets)
一种用于描述文档样式和布局的样式表语言。它与HTML一起被用于网页设计,用来设置网页上的各种元素的样式,包括布局、字体、颜色、大小、间距等
CSS的出现使得样式与内容分离,这意味着可以通过CSS单独管理网页的外观,而不需要将样式信息混合在HTML标记中。这种分离提高了代码的可维护性和可重用性
2.3 JavaScript
Javascript简称 JS,是一种动态的弱类型脚本解释性语言,和HTML、CSS并称三大WEB核心技术,得到了几乎主流浏览器支持
随着chrome浏览器的V8引擎发布 ,V8JS引擎不是解释执行,而是本地编译,在V8引擎做了很多优化,JS程序在其上运行堪比本地二进制程序。V8引擎使用C++开发,可以嵌入到任何C++程序中。基于V8引擎,2009年基于服务器 javascript 的运行环境 Node.js 诞生,创建了第一版npm (Node js包管理嚣和开源库生态系统)提供了大显的库供程序员使用。从此,便可以在服务器端真正大规模使用 JavaScript 编程了。也就是说 JavaScript 也可以真正称为服务器端编程语言了,成为目前唯一的前、后端通用的语言。
3、同步和异步
- 同步
交互式网页,用户提交了请求,就是想看到查询的结果。服务器响应到来后是一个全新的页面内容,哪怕 URL 不变,整个网页都需要重新渲染。例如,用户填写注册信息,只是2次密码不一致,提交后,整个注册页面重新刷新,所有填写项目重新填写(当然有办法让用户减少重填)。这种交互非常不友好。从代价的角度看,就是为了注册的一点点信息,结果返回了整个网页内容,不但浪费了网络带宽,还需要浏览器重新渲染网页,太浪费资源了,影响了用户体验和感受。上面这些请求的过程,就是同步过程,用户发起请求,页面整个刷新,直到服务器端响应的数据到来并重新渲染。
- 异步
1996年微软实现了 iframe 标签,可以在一个网页使用 iframe 标签局部异步加载内容。
1999年微软推出异步数据传输的 ActiveX 插件技术,太笨重了,但是也火了很多年。有一个组件XMLHttpRequest 被大多数浏览器支持。
传统的网页如果需要更新内容,必需重数整个网页面。Ajax的出现,改变这一切,同时极大的促进了 Javascript 的发展。Ajax即"Asynchronous Javascript AndXML”(异步JavaScript和XML),是指一种创建交互式、快速动态网页应用的网页开发技术,最早起源于1998年微软的Outook Web Access开发团队。Ajax通过在后台与服务器进行少量数据交换,可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。Javascript 通过调用浏览器内置的 WEB API 中的XMLHttpRequest对象实现Ajax技术。早期Aijax结合数据格式XML,目前更多的使用)SON。利用AAX可实现前后端开发的彻底分离,改变了传统的开发模式。
4、web架构
4.1 web资源和访问
- PC端或移动端浏览器访问
从静态服务器请求 HTML、CSS、JS 等文件发送到浏览器端,浏览器端接收后渲染在浏览器上从图片服务器请求图片资源显示,从业务服务器访问动态内容,动态内容是请求后有后台服务访问数据库后得到的,最终返回到浏览器端。
- 手机App访问
内置了 HTM L和 ]S 文件,不需要从静态WEB服务器下载JS或HTML。为的就是减少文件的发送,现代前端开发使用的文件太多或太大了有必要就从图片服务器请求图片,从业务服务器请求动态数据 客户需求多样,更多的内容还是需要由业务服务器提供,业务服务器往往都是由一组服务器组成。
4.2 后台应用架构
4.2.1 单体应用架构
传统架构 (单机系统)。一个项目一个工程:比如商品、订单、支付、库存、登录、注册等等,统一部署,一个进程。
all in one 的架构方式,把所有的功能单元放在一个应用里。然后把整个应用部署到一台服务器上。如果负载能力不行,将整个应用进行水平复制,进行扩展,然后通过负载均衡实现访问。
Java实现: JSP、 Servlet, 打包成一个jar. war部署
- 优点
易于开发和测试,也十分方便部署,当需要扩展时,只需要将war复制多份,然后放到多个服务器上,再做个负载均衡就可以了。
- 缺点
如果某个功能模块出问题,有可能全站不可访问,修改Bug后、某模块功能修改或升级后,需要停掉整个服务,重新整体重新打包、部署这个应用war包,功能模块相互之间耦合度高,相互影响,不适合当今互联网业务功能的快速迭代。特别是对于-一个大型应用,我们不可能把所有内容都放在一 个应用里面,我们如何维护、如何分工合作都是问题。如果项目庞大,管理难度大
web应用服务器:开源的 tomcat. jetty. glassfish, 商用的有weblogic、websphere. Jboss
4.2.2 微服务
微服务与soa 基本理念差不多, 只是微服务更细,属于SOA (Service Oriented Architecture)的子集面。微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底去掉耦合,每一个微服务提供单个业务功能,一个服务只做一件事。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。从技术角度讲就是一种小而独立的处理过程,类似与进程的概念,能够自行单独启动或销毁。
微服务架构(分布式系统),各个模块/服务,各自独立出来,"让专业的人干专业的事”,独立部署。分布式系统中,不同的服务可以使用各自独立的数据库。·服务之间采用轻量级的通信机制(通常是基于HTTP的RESTful API)。
微服务设计的思想改变了原有的企业研发团队组织架构。传统的研发组织架构是水平架构,前端、后端、DBA、测试分别有自己对应的团队,属于水平团队组织架构。而微服务的设计思想对团队的划分有着一定的影响,使得团队组织架构的划分更倾向于垂直架构,比如用户业务是一个团队来负责,支付业务是一个团队来负责。但实际上在企业中并不会把团队组织架构拆分得这么绝对,垂直架构只是一种理想的架构,微服务的实现框架有多种,不同的应用架构,部署方式也有不同。
- 优点
①每个服务足够内聚,足够小,代码容易理解。这样能聚焦一个只当的业务功能或业务需求。
②开发简单、开发效率提高,一个服务可能就是专业的只干一件事,微服务能够被小团队单独开发,这个小团队可以是2到5人的开发人员组成。
③微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
④微服务能使用不同的语言开发
⑤易于和第三方集成,微服务运行容易且灵活的方式集成自动部署,通过持续集成工具,如: Jenkins、Hudson、Bamboo。微服务易于被一个开发人员理解、修改和维护,这样小团队能够更关注自己的工作成果,无需通过合作才能体现价值。微服务允许你利用融合最新技术。微服务只是业务逻辑的代码,不会和 HTML/CSS 或其他界面组件混合,即前后端分离,每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一数据库。
- 缺点
①微服务把原有的一个项目拆分成多个独立工程,增加了开发、测试、运维、监控等的复杂度
②微服务架构需要保证不同服务之间的数据一致性,引入了分布式事务和异步补偿机制,为设计和开发带来一定挑战,开发人员和运维需要处理分布式系统的复杂性,需要更强的技术能力
③微服务适用于复杂的大系统,对于小型应用使用微服务,进行盲目的拆分只会增加其维护和开发成本
二、Java基础
1、java概念
Java是一种广泛应用的高级编程语言,最初由Sun Microsystems开发,并于1995年正式发布。Java被设计为一种跨平台的语言,这意味着编写的Java程序可以在各种不同的计算机平台上运行,而无需针对特定平台进行修改
Java的跨平台性是通过Java虚拟机(JVM)实现的。Java程序首先被编译成字节码,然后在运行时,JVM将字节码解释执行或者编译成特定平台的机器码。这使得Java程序可以在任何支持Java的平台上运行,而不需要重新编写或编译
2、java组成
- 语言、语法规范。关键字,如: if、for、class等
- 源代码 source code
- 依赖库,标准库(基础)第三方库(针对某些应用)。底层代码太难使用且开发效率低,封装成现成的库
- JVM虚拟机。将源代码编译为中间码即字节码后,再运行在JVM之上
3、java如何实现动态网页功能
3.1 servlet
是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。
3.2 jsp
用于将 JSP 动态网页翻译成 Servlet 代码。
全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 结束。也是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分。
JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
- 优点
架构简单,比较适合小型项目开发
- 缺点
JSP 职责不单一,职责过重,不便于维护
4、Java的开发工具包jdk
JDK(Java Development Kit)是 Java 语言的软件开发工具包,它包含了编译、运行Java应用程序所需的全部组件。主要包括以下几个部分
javac Java 编译器,用于将源代码(.java 文件)编译为字节码文件(.class 文件) java Java 运行时环境,负责加载和执行字节码文件 javadoc Java 文档生成工具,用于从源代码注释中提取信息生成API文档 jar Java 打包工具,可以将多个类文件打包成一个.jar文件 jdb Java 调试器,用于调试Java程序 jps, jinfo, jmap, jhat,
jstack, jstat 等
这些是用于监控和管理Java虚拟机(JVM)的实用工具 jmod 在较新版本的JDK中引入的一个模块化工具,用于处理Java模块化系统中的模块 jshell 自JDK 9起引入的交互式Java Shell工具,可进行快速原型设计和学习Java语法 其中JDK与JRE的关系:
Java SE APl:Java 基础类库开发接口
JRE:Java Runtime Environment 缩写,指Java运行时环境,包含JVM +Java 核心类库
JDK:Java Development Kit,即Java语言的软件开发工具包JDK协议基于JRL(JavaResearch License)协议
5、Java虚拟机(JVM)的各种版本
5.1 Oracle JDK 版本
JDK也就是常说的J2SE,在1999年,正式发布了Java第二代平台,发布了三个版本:
- J2SE:标准版,适用于桌面平台
- J2EE:企业版,java在企业级开发所有规范的总和,共有13个大的规范,Servlet、Jsp都包含在JavaEE规范中
- J2ME:微型版,适用于移动、无线、机顶盒等设备环境
2005年,Java的版本又更名为JavaSE、JavaEE、JavaME
JDK7、JDK8、JDK11是LTS(Long Term Support),其中JDK8以下版本免费开源
5.2 OpenJDK
OpenJDK是Sun公司采用GPL v2协议发布的JDK开源版本,于2009年正式发布。
OpenJDK使用GPL v2可以用于商业用途。目前由红帽维护。OpenJDK也有在其基础上的众多发行版,比如阿里的Dragonwell。
相对来说,Oracle jDK具有更好的响应能力和JVM性能,更加稳定
在Linux 中,默认安装的是openjdk
三、Tomcat
1、Tomcat概述
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。
当在一台机器上配置好Apache 服务器,可利用它响应 HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 是 Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。
当配置正确时,Apache 为 HTML 页面服务,而 Tomcat 实际上运行 JSP 页面和Servlet。另外,Tomcat 和 IIS 等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet 和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器
2、安装Tomcat
官方下载链接: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html#注意需要注册登录后,才能下载JDK
要求:下面安装所需的包,请到官网下载
2.1 安装oraclejdk
2.1.1 rpm安装
(1)将准备好的rpm包使用yum install或rpm -ivh安装
[root@localhost ~]#cd /opt[root@localhost opt]#yum install -y jdk-8u291-linux-x64.rpm或者[root@localhost opt]#rpm -ivh jdk-8u291-linux-x64.rpm
(2)安装完成后,找到安装目录
[root@localhost opt]#find / -name javac[root@localhost opt]#cd /usr/java[root@localhost java]#ll[root@localhost java]#cd /usr/java/jdk1.8.0_291-amd64/bin
(3)更换 jdk 工具
在Linux 中,默认安装的是openjdk工具,所以我们需要把它永久更换成刚安装的oraclejdk
为了让系统能够识别并使用这个JDK版本作为默认Java环境,需要设置一个环境变量,并写在开机自动检测的文件当中
- 对于全局生效(所有用户):编辑 /etc/profile 或 /etc/profile.d/*.sh文件。
- 对于仅当前用户生效:编辑 ~/.bashrc 或 ~/.bash_profile 文件
[root@localhost bin]#vim /etc/profile.d/jdk.shexport JAVA_HOME=/usr/java/default#设置了JAVA_HOME环境变量,它指向Java开发工具包(JDK)的安装目录 export PATH=$JAVA_HOME/bin:$PATH#修改了系统PATH环境变量,在原有PATH值前添加了 $JAVA_HOME/bin。这样一来,在执行java等命令时#系统会在指定的Java bin目录下查找并优先执行相应的命令。也就是先执行$JAVA_HOME里的Java命令#找到相应的命令后,立即停止查找 export JRE_HOME=$JAVA_HOME/jre#非必须项,但常见做法。设置了JRE_HOME环境变量,指向Java运行时环境(JRE)的安装目录#通常位于JDK安装目录下的jre子目录 export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/#非必须项。设置了CLASSPATH环境变量,用于Java应用程序加载类文件时搜索的路径列表#在早期Java版本中,需要通过CLASSPATH来指定自定义类库的位置
#重新加载文件或者重启[root@localhost bin]#. /etc/profile.d/jdk.sh或者[root@localhost bin]#reboot
2.1.2 二进制安装
(1)事先准备好的二进制包
[root@localhost opt]#tar xf jdk-8u291-linux-x64.tar.gz -C /usr/local/[root@localhost opt]#cd /usr/local/[root@localhost local]#ln -s jdk1.8.0_291/ jdk
(2)安装完成后,与rpm安装一样,需要永久更换成刚安装的oraclejdk,需要设环境变量
[root@localhost bin]#vim /etc/profile.d/jdk.shexport JAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$PATHexport JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/[root@localhost bin]#. /etc/profile.d/jdk.sh[root@localhost local]#java -version
2.2 安装Tomcat
Tomcat可以yum安装,但系统yum源中的版本过于老旧,所以不推荐安装。
那我们就需要在官方网站下载新版本的安装包后,进行二进制安装即可
#官方和镜像站点下载:https://tomcat.apache.org/download-80.cgihttps://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/
(1)事先准备好新版本的Tomcat安装包,然后解压
(2)复制文件至指定目录/usr/local,并自定义名称tomcat
[root@localhost opt]#cp -r /opt/apache-tomcat-9.0.16 /usr/local/tomcat
(3)创建程序用户和systemd管理文件
[root@localhost opt]#useradd -M -s /sbin/nologin tomcat[root@localhost opt]#chown -R tomcat:tomcat /usr/local/tomcat/[root@localhost opt]#cat > /usr/lib/systemd/system/tomcat.service
Server'定义整个服务器级别的属性,如监听关闭命令的端口号(port="8005")以及用于关闭Tomcat服务的命令字符串(shutdown="SHUTDOWN")。'Listener'定义了一系列监听器,它们会在Tomcat启动和停止时执行特定的任务。例如:VersionLoggerListener:在启动时打印版本信息。JreMemoryLeakPreventionListener 和 ThreadLocalLeakPreventionListener用于防止Java内存泄漏问题。GlobalResourcesLifecycleListener:管理全局命名资源的生命周期。'GlobalNamingResources'定义了全局的JNDI资源,此处有一个名为 "UserDatabase" 的资源,它是一个用户数据库,使用 MemoryUserDatabaseFactory 创建,并关联到 conf/tomcat-users.xml 文件中定义的用户数据。'Service'定义了一个名为 "Catalina" 的服务,它是Tomcat处理请求的核心组件集合,包括多个Connector和一个Engine。'Connector'定义了服务器对外提供HTTP服务的监听器,监听8080端口,协议为HTTP/1.1,设置了连接超时时间、重定向HTTPS端口等属性。'Engine'作为顶级容器,代表整个Catalina Servlet容器,名称为 "Catalina",默认主机名是 "localhost"。'Realm'定义了安全域,用于认证和授权。这里包含两个Realm,首先通过 LockOutRealm 进行锁定策略控制,然后使用基于内存的 UserDatabaseRealm 实现用户认证,从前面定义的 "UserDatabase" JNDI资源中读取用户信息。'Host'定义了名为 "localhost" 的虚拟主机,设置应用基础目录(appBase)为 "webapps",并允许自动解压WAR文件部署应用、启用自动部署功能。'Valve'定义了一个访问日志阀门(AccessLogValve),负责记录访问日志。指定日志存储路径、前缀、后缀及日志格式。'
4.2 tomcat处理请求过程
-
假设来自客户的请求为: http://localhost:8080/test/index.jsp 浏览器端的请求被发送到服务端端口8080,Tomcat进程监听在此端口上。通过侦听的HTTP/1.1Connector获得此请求。
-
Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的响应
-
Engine获得请求192.168.91.100:8080/test/index.jsp,遍历它所有虚拟主机Host
-
Engine匹配到名为localhost的Host。如果匹配不到,就把请求交给该Engine中的defaultHost处理. localhost Host获得请求/test/index.jsp,匹配它所拥有的所有Context
-
Host匹配到路径为/test的Context
-
path=/test的Context获得请求index.jsp,在它的mapping table中寻找对应的servlet
-
Context匹配到URLPATTERN为*.jsp的Sservlet,对应于]spServlet类构造HtpServletRequest对象和HttpServletResponse对象,作为参数调用)spSer let的doGet或doPost方法。
-
Context把执行完了之后的HttpServletResponse对象返回给Host
-
Host把HttpServletResponse对象返回给Engine
-
Engine把HttpServletResponse对象返回给Connector
-
Connector把HttpServletResponse对象返回给浏览器端
4.3 Tomcat核心组件
- Web容器
负责底层的HTTP协议
- Servlet容器
由catalina脚本帮忙处理的servlet代码,主要处理后端逻辑业务,catalina实际处理的是Servlet代码,而Servlet代码是由Java编写的
- JSP容器
JSP:在正常的html标签中嵌入一些java代码 这些JSP最终会被翻译成Servlet代码被执行,主要提供提供前端页面展示
总之,Tomcat就是一个容器,在这个容器中有三大核心组件: WEB、Servlet 和JSP,所以Tomcat是极其轻量级别的,核心组件都是支持基本运行的组件
5、tomcat端口号
tomcat是多端口监听,端口分别为8005、8009、8080
5.1 8005端口
这个端口是Tomcat的shutdown端口。当需要关闭Tomcat时,可以通过向这个端口发送一个特
定的命令来安全地终止服务。例如,通过运行bin/shutdown.sh(在Unix/Linux系统)
或bin/shutdown.bat(在Windows系统),或者直接通过网络发送请求到该端口来关闭Tomcat
5.2 8009端口
这个端口是用于AJP协议(Apache JServ Protocol)的连接器监听端口。AJP是一种高效、轻
量级的通信协议,主要用于将Web服务器(如Apache HTTP Server)与Java应用服务器(如Tomcat)
之间的负载均衡和代理功能进行整合。通过配置Apache HTTP Server使用mod_proxy_ajp模块并
将其反向代理指向8009端口,可以实现HTTP请求从Apache透明地转发给Tomcat处理,从而实现高性能的Web部署架构
5.3 8080端口
这是最常见的端口,它是Tomcat用来接收外部HTTP请求的默认监听端口。任何通过标准HTTP协
议访问Tomcat上托管的Web应用程序的客户端(如浏览器)都会连接到这个端口。如果您希望更
改Tomcat提供HTTP服务的端口号,可以在conf/server.xml文件中找到相关的Connector配置,
并修改其port属性值
tomcat的web服务监听的端口号是8080,所以访问时需要使用web浏览器访问本机的8080端口
- JSP容器
- Servlet容器
- Web容器
-
- 缺点
- 优点
- 缺点
- 优点
- 缺点
- 优点
- 手机App访问
- PC端或移动端浏览器访问
- 异步
上一篇:宝塔面板怎么续费?
下一篇:怎么注册爆满的服务器号?