tomcat详解

简介: tomcat详解

 介绍

简介

Tomcat服务器是Apache的一个开源免费的Web容器。它实现了JavaEE平台下部分技术规范,属于轻量级应用服务器。

版本说明

Tomcat         JDK      Servlet  JSP
            10.0.X    8 and later  5.0   3.0
            9.0.x   8 and later  4.0   2.3
            8.0.x   7 and later  3.1   2.3
            7.0.x   6 and later  3.0   2.2
            6.0.x   5 and later  2.5   2.1

image.gif

安装

普通安装

下载地址

http://tomcat.apache.org/

配置环境变量

前提:配置java的环境变量(Tomcat是用Java语言开发的Web容器)

JAVA_HOME 路径(如C:\Program Files\Java\jdk-11.0.12)

path中添加 %JAVA_HOME%\bin

防止tomcat启动时闪屏

CLASS_PATH %JAVA_HOME%\lib;

启动与关闭

windows系统

启动

1.在bin目录点击startup.bat

2.在cmd输入:catalina.bat start

关闭

1.在bin目录点击shutdown.bat

2.在cmd输入:catalina.bat stop

3.关闭窗口 访问 localhost:8080

docker安装

查看tomcat 镜像

docker search tomcat

下载tomcat镜像

docker pull docker.io/tomee

1启动tomcat容器 名称,端口

docker run -d -p 8080:8080 docker.io/tomee

--name 命名(一般在run后面)

-d 后台运行

-p 宿主机端口:容器内端口

-v使用数据卷

版本号 docker.io/tomee

浏览器用这个网址打开tomcat 192.168.66.100:8080

2启动tomcat容器并配置数据卷

docker run -d -p 8080:8080 -v /opt/webapps:/usr/local/tomee/webapps docker.io/tomee

2使用tomcat

在Linux写个/opt/webapps/test/index.html然后在用192.168.66.100:8080/test/index.html打开

3启动并使用指定卷容器给tomcat配置数据卷

docker run -d -p 8080:8080 -v 容器卷名:/usr/local/tomee/webapps docker.io/tomee

3使用tomcat

通过查看指定容器卷详情信息获取存放地址/var/lib/docker/volumes/88/_data, 在_data创建/test/index.html,然后在浏览器192.168.66.100:8080/test/index.html访问

目录

tomcat目录

bin

bin目录主要是用来存放tomcat的命令文件,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。

conf

conf目录主要是用来存放tomcat的一些配置文件。

lib

lib目录主要用来存放tomcat运行需要加载的jar包。

logs

logs目录用来存放tomcat在运行过程中产生的日志文件。

temp

temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响) webapps

webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包的形式发布应用。

work

work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。

配置文件conf目录

Tomcat 的配置文件由4个xml组成:context.xml/web.xml/server.xml/tomcat-users.xml

context.xml

context.xml 是 Tomcat 公用的环境配置。 Tomcat 服务器会定时去扫描这个文件。 一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 。

web.xml

Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。

server.xml

是 tomcat 服务器的核心配置文件,server.xml的每一个元素都对应了 tomcat中的一个组件, 通过对xml中元素的配置,实现对 tomcat中的各个组件和端口的配置。

tomcat-users.xml

配置访问Tomcat的用户以及角色的配置文件。

解决控制台乱码以及修改监听端口

解决控制台乱码

控制台产生乱码的原因是在Tomcat在输出日志中使用的是UTF-8编码,而我们中文的Windows操作系统使用的是GBK编码。 由于编码格式不统一,所以出现了乱码。

解决方式:

修改conf目录中的logging.properties文件重新指定的编码方式

java.util.logging.ConsoleHandler.encoding = GBK

image.gif

修改Tomcat监听端口

Tomcat默认监听端口为8080。可以通过修改server.xml文件来改变Tomcat的监听端口。

<Connector port="8080" protocol="HTTP/1.1"
                    connectionTimeout="20000"
                    redirectPort="8443" />

image.gif

TomcatManager

Tomcat Manager

Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。 默认情况下,Tomcat Manager是处于禁用状态的。准确的说,Tomcat Manager需要以用户角色进行登录 并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此我们需要先进行用户配置后才 能使用Tomcat Manager。

配置Tomcat Manager的访问用户

Tomcat Manager中没有默认用户,我们需要在tomcat-users.xml文件配置。

Tomcat Manager的用户配置需要配置两个部分:角色配置、用户名及密码配置。

Tomcat Manager中的角色分类

manager-gui角色:允许访问HTML GUI和状态页面(即URL路径为/manager/html/*)

manager-script角色:允许访问文本界面和状态页面(即URL路径为/manager/text/*)

manager-jmx角色:允许访问JMX代理和状态页面(即URL路径为/manager/jmxproxy/*)

manager- status角色:仅允许访问状态页面(即URL路径为/manager/status/*)

配置用户及角色

修改tomcat-users.xml

<role rolename ="manager-gui"/> 
            <user username ="tomcat" password ="tomcat" roles="manager-gui" />

image.gif

解除访问限制

进入Tomcat的webapps目录下,打开webapps/manager/META-INF/context.xml文件,修改下面这段配置

<context antiresourcelocking="false" privileged="true">
            <!-- 把下面这段注释掉 -->
            <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
            </context>

image.gif

Tomcat架构

Server

启动一个server实例(即一个JVM进程),它监听在8005端口以接收shutdown命令。 Server的定义不能使用同一个端口,这意味着如果在同一个物理机上启动了多个Server实例, 必须配置它们使用不同的端口。

<Server port="8005" shutdown="SHUTDOWN">

image.gif

Port:接收关闭请求的端口,默认8005,若启动多个tomcat,需要配置多个不同端口

Shutdow:关闭请求指令,默认为SHUTDOWN

Service

Service主要用于关联一个引擎和与此引擎相关的连接器,每个连接器通过一个特定的端口和协议接收 请求并将其转发至关联的引擎进行处理。困此,Service要包含一个引擎、一个或多个连接器

<Service name="Catalina">

image.gif

Name:服务器的名称,默认为Catalina

Connector

支持处理不同请求的组件,一个引擎可以有一个或多个连接器,以适应多种请求方式。 默认只开启了处理Http协议的连接器。如果需要使用其他协议,需要在Tomcat中配置该协议的连接器 在Tomcat中连接器类型通常有4种:HTTP连接器/SSL连接器/AJP 1.3连接器/proxy连接器

<Connector port="8888" protocol="HTTP/1.1"
            connectionTimeout="20000"
            redirectPort="8443" />

image.gif

Port:监听的端口,为接收请求的端口,默认8080

Protocol:连接器使用的协议,默认HTTP/1.1;

connectionTimeout:等待客户端发送请求的超时时间,单位为毫秒;

redirectPort:如果支持的协议是HTTP,接HTTPS请求时,转发至此属性定义的端口

maxThreads:支持的最大连接数,默认为200

Engine

Engine是Servlet处理器的一个实例,即servlet引擎,定义在server.xml中的Service标签中。 Engine需要defaultHost属性来为其定义一个接收所有发往非明确定义虚拟主机的请求的Host组件

<Engine name="Catalina" defaultHost="localhost">

image.gif

Name:引擎名称

defaultHost:在Engine中定义的多个虚拟主机的主机名称中至少要有一个跟defaultHost定义的主机名称同名

Host

Host组件位于Engine容器中用于接收请求并进行相应处理的虚拟主机。

通过该容器可以运行Servlet或者JSP来处理请求

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

image.gif

Name:虚拟主机名称

appBase:寻找放在tomcat的web资源的目录

autoDeploy:找到的web资源是否自动部署,默认为true;

unpackWARs:找到的web资源是否自动解压,默认为true;

Context

<Context path="/test" docBase="D:\bjsxt\itbaizhan.war" />

image.gif

若web资源不在webapps中,则需要此组件告诉虚拟主机web资源位置

Path:浏览器访问项目的访问路径(随便起名)

docBaseweb:资源位置

资源访问

访问内部资源

放在webapps下的资源都可以访问【http://localhost:8080/......】

默认访问webapps/ROOT/index.html【http://localhost:8080】

访问外部资源

资源放在非webapps下(如D:\tomcat\index.html)--------配置架构组件conf-server.xml------- -------在Host组件下新添Context组件 <Context path="/jia" docBase="d:/tomcat"/> -------- -------访问http://localhost:8080/jia/index.html

修改访问ip及资源目录

Tomcat新建资源目录webapps2放置资源--------配置架构组件conf-server.xml--------

<Host name="jia" appBase="webapps" unpackWARs="true" autoDeploy="true"/> ------访问jia:8080

完成电脑域名与IP的映射

先修改编辑权限,右击C:\Windows\System32\drivers\etc\hosts------属性----安全----编辑----USers---------- ------权限:允许全部√-------修改hosts文件----最下面写上 127.0.0.1 jia

相关文章
|
2月前
|
Prometheus 监控 Java
Tomcat
Tomcat
19 1
|
6月前
|
安全 应用服务中间件 数据库连接
Tomcat详解
Tomcat详解
58 1
|
Java 应用服务中间件 容器
tomcat
tomcat
94 0
|
网络协议 Java 应用服务中间件
你还在用tomcat ?out了
Netty作为高性能服务器讲解
|
Java 应用服务中间件
Tomcat2
Tomcat2
75 0
|
XML 开发框架 搜索推荐
练习Tomcat
静态网页: (1)静态网页不能简单地理解成静止不动的网页,他主要指的是网页中没有程序代码,只有HTML(即:超文本标记语言),一般后缀为.html,.htm,或者.xml等。虽然静态网页的页面一旦做成,内容就不会再改变了。但是,静态网页也包括一些能动的部分,这些主要是一些GIF动画等 (2)静态网页的打开,用户可以直接双击,并且不管任何人任何时间打开的页面的内容都是不变的。
55 0
|
缓存 NoSQL 数据可视化
|
安全 Java 应用服务中间件
Tomcat8
Tomcat8
205 0
Tomcat8
|
应用服务中间件
Tomcat知识1
Tomcat知识1
99 0
|
XML Java 应用服务中间件
Tomcat就是这么简单(下)
Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。
225 0
Tomcat就是这么简单(下)