Tomcat 简介安装

这篇具有很好参考价值的文章主要介绍了Tomcat 简介安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、概念介绍

Tomcat 组件

HTTP 请求过程

Tomcat 目录结构

Tomcat 命令

配置文件说明

2、安装环境

安装JDK

安装Tomcat

创建管理用户

3、搭建虚拟主机


1、概念介绍

端口:8080

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器, 按照 Sun 提供的技术规范,实现了对 Servlet 和 Java Server Page(JSP)的支持。使用 HTTP 协议与客户端(通常是浏览器)进行通信。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选,因为 Tomcat 技术先进、性能稳定,成为目前比较流行的 Web 应用服务器。Tomcat 是应用(java)服务器,它只是一个 servlet 容器,是 Apache 的扩展,但它是独立运行的。由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。

Tomcat 和 apache、nginx 等 Web 服务器一样,具有处理 HTML 页面的功能。不过,Tomcat 处理静态 HTML 的能力不如 Apache 和 nginx 服务器。

Web serever 只能完成静态资源的请求;Servlet 容器能够进行动态资源的请求;

Servlet

Servlet(Server Applet)是 Java Servlet 的简称,称为小服务程序或服务连接器,用 Java 编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web 内容。

Servlet 架构,在软件里面位置如下:

Tomcat 简介安装,Tomcat,tomcat

1、客户端发送请求至服务器端;

2、服务器将请求信息发送至 Servlet;

3、Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;

4、服务器将响应返回给客户端。

Tomcat 组件

Tomcat 简介安装,Tomcat,tomcat

Tomcat 主要组件:服务器 Server,服务 Service,连接器 Connector、容器 Container。连接器 Connector 和容器 Container 是 Tomcat 的核心。

Tomcat 组件

说明

Server

Tomcat 中最顶层的容器是 ,代表着整个服务器,一个Server 可以包含至少一个 Service,用于具体提供服务。

Connector

用于处理连接相关的事情,并提供 Socket 与 Request 和 Response 相关的转化;

Container

用于封装和管理 Servlet,以及具体处理 Request 请求。

Tomcat 还有其它重要的组件,如安全组件 security、logger 日志组件、session、 mbeans、naming 等其它组件。这些组件共同为 Connector 和 Container 提供必要的服务。

Connector

一个 Connecter 将在某个指定的端口上侦听客户请求,接收浏览器发过来的tcp 连接请求,创建一个 Request 和 Response 对象分别用于和请求端交换数据, 然后会产生一个线程来处理这个请求并把产生的 Request 和 Response 对象传给处理 Engine(Container 中的一部分),从 Engine 出获得响应并返回客户。 一个服务可以有多个连接,如同时提供 Http 和 Https 链接,也可以提供向相同协议不同端口的连接

Tomcat 简介安装,Tomcat,tomcat

Tomcat 中有两个经典的 Connector,一个直接侦听来自 Browser 的 HTTP 请求,另外一个来自其他的 WebServer 请求。HTTP/1.1 Connector 在端口 8080 处侦听来自客户 Browser 的 HTTP 请求,AJP/1.3 Connector 在端口 8009 处侦听其他 Web Server 的 Servlet/JSP 请求。

Tomcat 简介安装,Tomcat,tomcat

http 协议访问端(默认为 8080),负责建立 HTTP 连接。在通过浏览器访问 Tomcat服务器的 Web 应用时,使用的就是这个连接器。

AJP 协议访问端口(默认为 8009 端口),负责和其他的 HTTP 服务器建立连接。在把 Tomcat 与其他 HTTP 服务器集成时,就需要用到这个连接器。


Container

Container 用于封装和管理 Servlet,以及具体处理 Request 请求,在 Container 内部包含了 4 个子容器

Tomcat 简介安装,Tomcat,tomcat

Engine:引擎,用来管理多个站点,一个 Service 最多只能有一个 Engine;

Engine 用来接收并处理从 Connector 发来的请求,并将处理结果返回 Connector。 一个 Engine 可以包含一个或多个 Host。

Engine 下可以配置多个虚拟主机 Virtual Host,每个虚拟主机都有一个域名,当Engine 获得一个请求时,它把该请求匹配到某个 Host 上,然后把该请求交给该 Host 来处理。Engine 有一个默认虚拟主机,当请求无法匹配到任何一个 Host 上的时候,将交给该默认 Host 来处理。


Host:代表一个 Virtual Host,虚拟主机。

每个虚拟主机和某个网络域名 Domain Name 相匹配,每个虚拟主机下都可以部署一个或者多个 Web App,每个 Web App 对应于一个 Context,有一个 Context path。

当 Host 获得一个请求时,将把该请求匹配到某个 Context 上,然后把该请求交给该 Context 来处理。匹配的方法是“最长匹配”,所以一个 path=""的 Context 将成为该 Host 的默认 Context,所有无法和其它 Context 的路径名匹配的请求都将最终和该默认 Context 匹配。


Context:一个 Context 对应于一个 Web Application。

一个 Web Application 由 一 个 或 者 多 个 Servlet 组 成 。 Context 在 创 建 的 时 候 将 根 据 配 置 文 件 $CATALINA_HOME/conf/web.xml$WEBAPP_HOME/WEB-INF/web.xml 载入 Servlet 类,当 Context 获得请求时,将在自己的映射表(mapping table)中寻找相匹配的 Servlet 类,如果找到,则执行该类,获得请求的回应,并返回。


Wrapper:每一 Wrapper 封装着一个 Servlet。

Wrapper 代表一个 Servlet,它负责管理一个 Servlet,包括的 Servlet 的装载、初始化、执行以及资源回收。Wrapper 是最底层的容器,它没有子容器了。

HTTP 请求过程

Tomcat 简介安装,Tomcat,tomcat

Tomcat Server 处理一个 HTTP 请求的过程

用户点击网页内容,请求被发送到本机端口 8080,被在那里监听的 Coyote HTTP/1.1 Connector 获得。

Connector 把该请求交给它所在的 Service 的 Engine 来处理,并等待 Engine 的回应。

Engine 获得请求 localhost/test/index.jsp,匹配所有的虚拟主机 Host。

Engine 匹配到名为 localhost 的 Host(即使匹配不到也把请求交给该 Host 处理,因为该 Host 被定义为该 Engine 的默认主机),名为 localhost 的 Host 获得请求/test/index.jsp,匹配它所拥有的所有的 Context。Host 匹配到路径为/test 的 Context (如果匹配不到就把该请求交给路径名为 path=””的 Context 去处理)

path=“/test”的 Context 获得请求/index.jsp,在它的 mapping table 中寻找出对应的 Servlet。Context 匹配到 URL PATTERN 为*.jsp 的 Servlet,对应于 JspServlet 类。

构造 HttpServletRequest 对象和 HttpServletResponse 对象,作为参数调用JspServlet 的 doGet()或 doPost().执行业务逻辑、数据存储等程序。

Context 把执行完之后的 HttpServletResponse 对象返回给 Host。

Host 把 HttpServletResponse 对象返回给 Engine。

Engine 把 HttpServletResponse 对象返回 Connector。

Connector 把 HttpServletResponse 对象返回给客户 Browser。

Tomcat 目录结构
|---bin:存放启动和关闭 tomcat 执行脚本;
|---conf :存放 Tomcat 服务器的各种全局配置文件,其中最重要的是server.xml 和 web.xml;
|---lib: 存放 Tomcat 运行需要的库文件(jar),包含 Tomcat 使用的 jar 文件。unix 平台此目录下的任何文件都被加到 Tomcat 的 classpath 中;
|---logs:存放 Tomcat 执行时的 LOG 文件;
|---webapps:Tomcat 的主要 Web 发布目录,默认情况下把 Web 应用文件放于此目录,即供外界访问的 web 资源的存放目录;
|--- webapps/ROOT:tomcat 的家目录
|--- webapps/ROOT/ index.jsp:Tomcat 的默认首页文件
|---work:存放 jsp 编译后产生的 class 文件或 servlet 文件存放
|---temp:存放 Tomcat 运行时所产生的临时文件
Tomcat 命令

Tomcat 简介安装,Tomcat,tomcat

bat 为 windows 下的脚本(批处理) ;sh 为 Linux 下的脚本,Shell

catalina.sh一个最关键的脚本,其他的启动脚本如 startup,shutdown.sh,都是使用了不同的参数调用了该脚本,startup 以 start 参数调用了 catalina 脚本, shutdown 使用 stop 调用了 catalina 脚本!

配置文件说明
server.xml文件:该文件用于配置和server相关的信息,比如tomcat启动的端口号、
配置 host 主机、配置 Context 

web.xml 文件:部署描述文件,web.xml 文件有两部分:Servlet 类定义和 Servlet 映射定义。
这个 web.xml 中描述了一些默认的 servlet,部署每个 webapp 时,都会调用这个文件。
这个文件中也注册了很多 MIME 类型,即文档类型。这些 MIME 类型是客户端与
服务器之间说明文档类型的,如用户请求一个 html 网页,那么服务器会告诉客户
端浏览器响应的文档是 text/html 类型的,这就是一个 MIME 类型。客户端浏览器
通过这个 MIME 类型就知道如何处理它了。当然是在浏览器中显示这个 html 文件
了。但如果服务器响应的是一个 exe 文件,那么浏览器就不可能显示它,而是应该
弹出下载窗口才对。MIME 就是用来说明文档的内容是什么类型的!

tomcat-users.xml 文件:配置 tomcat 的用户密码与权限。

context.xml:每个 webapp 都可以使用的配置文件,它通常由专用的配置文件
context.xml 来定义,其存放位置为 WEB-INF/目录中;此文件为所有的 webapps 提
供默认配置;例如 context.xml 里设置 tomcat 数据源,用来连接数据库。

catalina.policy:当使用-security 选项启动 tomcat 时,用于为 tomcat 设置安全策略;
catalina.properties:Java 属性的定义文件,用于设定类加载器路径,以及一些与JVM 调优相关参数;
logging.properties:日志系统相关的配置;
2、安装环境

① 下载Tomcat:Apache Tomcat® - Apache Tomcat 8 Software Downloads

Tomcat 简介安装,Tomcat,tomcat

② 下载mysql-connector-java:https://dev.mysql.com/downloads/

Tomcat 简介安装,Tomcat,tomcat

③ 下载JDK:技术资源 | Oracle 中国

Tomcat 简介安装,Tomcat,tomcat

安装JDK
# 解压 jdk 
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/

#  配置 JDK 环境变量 
vim /etc/profile # 在文件最后加入一下行
JAVA_HOME=/usr/local/jdk1.8.0_171 
PATH=$JAVA_HOME/bin:$PATH 
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar 
export PATH JAVA_HOME CLASSPATH 
# 使环境变量生效
source /etc/profile 
安装Tomcat
# 解压软件包 
tar -zxvf apache-tomcat-8.5.42.tar.gz -C /usr/local/
# 更改目录名称
mv /usr/local/apache-tomcat-8.5.98/ /usr/local/tomcat

注意:Tomcat 有两种安装方式,一种是直接解压就可以使用的二进制文件,第二种是编译安装,我们这里采用了第一种方法,下载的 tomcat 软件直接解压就可以执行的二进制文件,因为在官方默认下载的便是使用第一种方法安装。

Tomcat 服务启动脚本

#!/bin/bash
# description:The Apache Tomcat Server/JSP container

JAVA_HOME=/usr/local/jdk1.8.0_171
CATALINA_HOME=/usr/local/tomcat

# tomcat start file
start_tomcat=$CATALINA_HOME/bin/startup.sh
# tomcat stop file
stop_tomcat=$CATALINA_HOME/bin/shutdown.sh

start(){
	echo -n "Starting tomcat..."
	${start_tomcat}
}

stop(){
	echo -n "Shutting down tomcat..."
	${stop_tomcat}
	echo "Tomcat stop ok."
}

# See how we were called
case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		stop
		sleep 5
		start
		;;
	*)
		echo "Usage:$0{start|stop|restart}"
esac
# 启动脚本添加执行权限 
chmod +x /etc/init.d/tomcat

Tomcat 系统服务文件

vim /lib/systemd/system/tomcat.service

[Unit]
Description=tomcat
After=network.target

[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/jdk1.8.0_171
Environment=CATALINA_HOME=/usr/local/tomcat
ExecStart=/usr/local/tomcat/bin/startup.sh start
ExecStop=/usr/local/tomcat/bin/shutdown.sh stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# 重载 service 文件
systemctl daemon-reload 
# 启动 tomcat 
systemctl start tomcat 

# 添加开机自启动 
systemctl enable tomcat 
 
ps -ef | grep tomcat

Tomcat 简介安装,Tomcat,tomcat

创建管理用户

Tomcat 简介安装,Tomcat,tomcat

# 修改 tomcat-users.xml 配置文件 
vim /usr/local/tomcat/conf/tomcat-users.xml

<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
	<role rolename="admin-gui"/> 
	<role rolename="admin-script"/> 
	<role rolename="manager-gui"/> 
	<role rolename="manager-script"/> 
	<role rolename="manager-jmx"/> 
	<role rolename="manager-status"/> 
	<user username="admin" password="123456" 
	roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
</tomcat-users>

角色

说明

manager-gui

Allows access to the html interface

manager-script

Allows access to the plain text interface

manager-jmx

Allows access to the JMX proxy interface

manager-status

Allows access to the read-only status pages

admin-gui

允许访问 HTML GUI

admin-script

允许访问文本接口

tomcat8 以上还要增加以下配置

 vim /usr/local/tomcat/conf/Catalina/localhost/manager.xml
 <Context privileged="true" antiResourceLocking="false" 
 docBase="${catalina.home}/webapps/manager"> 
 <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
 </Context>


vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" > 
<Valve className="org.apache.catalina.valves.RemoteAddrValve" 
allow="^.*$" />

重启服务重新点击Manager App -> 输入admin 123456

Tomcat 简介安装,Tomcat,tomcat

Tomcat 简介安装,Tomcat,tomcat

3、搭建虚拟主机

搭建基于域名的虚拟主机:server.xml 是 Tomcat 的主配置文件(全局),服务器设置的,例如端口设置,路径设置。

# 修改 server.xml 配置文件 
vim /usr/local/tomcat/conf/server.xml

# 在engine标签里添加
<Host name="www.test.com" appBase="/www/html"> 
	<Context path="" docBase="/www/html/web1" /> 
</Host> 
<Host name="www.test.cn" appBase="/www/html"> 
	<Context path="" docBase="/www/html/web2" /> 
</Host>

Host 元素|子标签

说明

name

指定虚拟主机的名称,那么使用对应的 ip 将无法访问,如果需要使用 ip 来访问,需要把 host 的 name 属性改成 ip 即可。

appBase

指定应用程序(网站)的根目录,这里可以存放多个程序(网站),一般是相对路径,相对于 tomcat 的安装目录。

<Context path="">

为虚拟目录,如果是空,表示直接就是/,如果是如 path="aa",那么访问的时候就是 site:8080/aa

<Context docBase="">

为实际目录,可以是绝对路径,如果是相对路径就是基于appBase

Tomcat 简介安装,Tomcat,tomcat

# 创建测试网页 
mkdir -p /www/html/{web1,web2} 
echo "test.com web1" > /www/html/web1/index.html 
echo "test.cn web2" > /www/html/web2/index.html 

# 修改 hosts 
vim /etc/hosts
192.168.1.11 www.test.com 
192.168.1.11 www.test.cn

# windows 客户端修改 hosts 
C:\Windows\System32\drivers\etc 
192.168.1.11 www.test.com 
192.168.1.11 www.test.cn

# 重启 tomcat 
systemctl restart tomcat

Tomcat 简介安装,Tomcat,tomcat

Tomcat 简介安装,Tomcat,tomcat文章来源地址https://www.toymoban.com/news/detail-820079.html

到了这里,关于Tomcat 简介安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 一台电脑同时安装多个tomcat服务器教程,window同时安装tomcat7、tomcat8、tomcat9三个服务器教程

    A. 解释为什么有时需要同时安装多个Tomcat服务器 应用程序隔离:当你需要在同一台设备上运行多个独立的应用程序时,每个应用程序可能需要使用不同的Tomcat配置和环境。通过同时安装多个Tomcat服务器,可以实现应用程序之间的隔离,确保它们互不干扰。这种隔离可以防止一

    2024年02月13日
    浏览(56)
  • tomcat第1章 tomcat介绍、安装、部署项目

    我们在写javaweb程序的时候有没有考虑如果没有tomcat,我们怎么给客户端返回响应数据?既然能返回响应数据,为什么还要使用tomcat? 什么是tomcat,以及tomcat历史版本发展情况,每个版本servlet规范的支持,相关的许可。 最后再介绍如何下载tomcat、安装tomcat、启动tomcat、运行

    2024年02月13日
    浏览(42)
  • Tomcat安装及配置教程(IDEA整合Tomcat)

    先看文章目录,大致了解知识点结构,直接点击文章目录可以跳转到文章指定位置。 ①Tomcat是Apache 一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。 ②Tomcat 服务器是一个免费的开放源代码的Web轻量级应用服务器,是开发和调试JSP 程序的首选。 ③Tomcat 实际

    2024年02月16日
    浏览(53)
  • tomcat安装、部署JSPGOU项目、Tomcat多实例

            安装 官网找包 Apache Tomcat® - Welcome! tomcat 8 准备运行环境 安装tomcat catalina.sh    服务脚本管理文件 server.xml 主配置文件 修改8009(删除注释) 启动tomcat 访问 为了避免每次进入绝对路径启动tomcat 法二: 单机架构:                 集群架构:                 jsp

    2024年02月09日
    浏览(34)
  • Tomcat部署及优化 Linux 安装两个tomcat服务

            Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。        Tomcat 属于 轻量级应用服务器 ,在中小型系统和并发访问用户(据了

    2023年04月24日
    浏览(36)
  • 详解Tomcat下载安装以及IDEA配置Tomcat(2023最新)

    jdk各版本通用安装配置及检验:https://blog.csdn.net/m0_48170265/article/details/129070240 Tomcat下载官网:https://tomcat.apache.org/ 在左侧 Download 处选择对应Tomcat版本: 一般选择64位: 右键点击任务栏 Windows(开始) 处,依次选择 系统 和 高级系统设置 选择 环境变量 在系统变量这一栏里选

    2023年04月23日
    浏览(71)
  • Tomcat服务器下载安装及配置教程(IDEA中使用Tomcat)

    先看文章目录,大致了解知识点结构,直接点击文章目录可以跳转到文章指定位置。 ①Tomcat是Apache 一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。 ②Tomcat 服务器是一个免费的开放源代码的Web轻量级应用服务器,是开发和调试JSP 程序的首选。 ③Tomcat 实际

    2024年02月09日
    浏览(48)
  • docker ——安装tomcat

    第一步:联网 第二步:开启docker 第三步:拉取镜像 docker pull tomcat             //下载tomcat镜像 第四步:创建容器 docker run -d -p 8080:8080 --name tomcat9 tomcat        //启动基于tomcat镜像创建tomcat9的容器 docker run -d  宿主机端口:容器端口 --name 容器名  基于的镜像名 docke

    2024年02月09日
    浏览(33)
  • 10、docker 安装 tomcat

    搜索镜像 拉取镜像 查看镜像 启动镜像--服务端口映射 但其实, docker run 的时候,就会帮我们去配置的 registry 拉取镜像了,也就是  搜索镜像  这一步,其实是可有可无的。  找到官方 OFFICAL ,这个就是我们要拉的镜像   -p 小写,宿主机端口 :docker 容器端口 -P 大写,随机

    2024年02月07日
    浏览(27)
  • 安装Tomcat服务器

    tomcat需要下载JDK,因为tomcat是Java语言编写的,运行在Java虚拟机上。 以下是tomcat对应JDK版本,安装tomcat需要安装对应的JDK版本 我这里安装的是9版本,则需要安装1.8版本以上的JDK 进入JDK中文官网https://www.oracle.com/cn/java/technologies/downloads/#java8-windows 登录账号,没有就创建一个

    2024年03月09日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包