Tomcat 部署优化

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

目录

一.Tomcat介绍

二.了解Tomcat里面里面是放什么的

三. Tomcat:是一个特殊的服务   有两个领域

 四.tomcat概述

五.再加上那个扩展java虚拟机(JVM) 调优  

tomcat 优化分两种

六.Tomcat核心组件

​编辑 容器:什么是容器

web容器:完成web服务的功能

Serviet容器:

JSP 容器: 

七.tomcat核心组件

八. Tomcat处理请求(内部数据流向图)

8.1Tomcat的功能组件结构

九.Tomcat 请求过程

一.实战部署

1.Tomcat 服务部署

二.安装启动Tomcat

三.优化tomcat启动速度 

四.Tomcat 虚拟主机配置

1.创建 kgc 和 benet 项目目录和文件

五.客户端浏览器访问验证 


一.Tomcat介绍

Tomcat是Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的Web应用服务器,是Apache 软件基金会的 Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及人共同开发而成。

  • 免费的、开放源代码的Web应用服务器
  • Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目
  • 由Apache、Sun和一些公司及个人共同开发而成
  • 深受Java爱好者的喜爱,并得到部分软件开发商的认可
  • 目前比较流行的Web应用服务器

二.了解Tomcat里面里面是放什么的

Tomcat 部署优化,nginx,运维

 Tomcat:是以 java代码运行的平台 ,里面放置着我们正常用的的也软件app如 支付宝、健康码。小程序、抖音自媒体、拼多多等  这些就是用java代码写的

三. Tomcat:是一个特殊的服务   有两个领域

开发、研发领域 

共同点

共同维护

Tomcat 部署优化,nginx,运维

 四.tomcat概述

1.Tomcat核心组件

  1.1tomcat 由那些系列的组件机构

  1.2tomcat 核心组件如何进行交互

  1.3tomcat 功能组件机构

    1.3.1  container 结果  (分析)

2.tomcat 处理请求  (内部数据流向)这是重点

3.tomcat 部署步骤

4.tomcat 主要目录说明  这是重点

5.tomcat 虚拟机的配置

6.tomcat 优化 

7.tomcat 多实列部署

五.再加上那个扩展java虚拟机(JVM) 调优  

tomcat 优化分两种

1.tomcat 配置文件优化

2.tomcat 虚拟机 (JVM调优)

六.Tomcat核心组件

 容器:什么是容器

 举个例子 水杯就最普通的容器 水就是封装的对象

web容器:完成web服务的功能

tomcat web 应用服务  web--可以通过httpd(s)来访问的页面--》会指向文件

web容器--》就是封装了一组文件  集中化管理--》一组组员对象

说白点就是 web动态页面

Serviet容器:

就是catalina处理Servlet代码

JSP 容器: 

将JSP动态页面翻译成Servlet代码交给 Servlet 代码

index.php-->php  index.jsp--tomcat   hyml--> nginx

因此 Tomcat 是 Web 应用服务器,也是一个 Servlet/JSP 容器。Tomcat 作为 Servlet 容器,负责处理客户请求,把请求传送给 Servlet,并将 Servlet 的响应传送回给客户。

七.tomcat核心组件


1、Web容器 :①接受、响应请求
             ② 展示动态页面      
               入口  出口
2、JSP容器:翻译java--> servlet
index.html --》 nginx可以直接展示index.php

index.jsp --> java环境---》和数据库怎么进行交互,怎么连接到后端???

index.jsp---》java类代码---》就是执行对接后端的执行代码,所以我们需要在进行与用户交互时,将用户发出的请求、数据、传输到后端 
但是index.jsp中的一些java代码无法直接执行对接或者调用,需要先翻译魏可以可直接执行的代码方式---》格式serverlet 代码格式

3、serverlet容器:serverlet代码格式就是用JSP容器来处理
简介:
web容器:1、接受、响应请求  2 、 展示动态页面
JSP容器:翻译java--->servlet
Serverlet容器:借助于catalina来执行servelet代码(动态任务执行的标准格式)

八. Tomcat处理请求(内部数据流向图)

Tomcat 部署优化,nginx,运维

总:用户访问数据经过nginx发送到web容器用index.php类型页面接收Java代码再到JSP容器将前面的index.jsp的代码翻译为servlet代码后交给servlet容器处理通过api接口调用数据库中的信息后再次回给用户。

8.1Tomcat的功能组件结构


Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。

8.2 Connector
负责对外接收和响应请求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。

8.3 Container
负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成,用于管理和调用 Servlet 相关逻辑。

8.4 Service
对外提供的 Web 服务。主要包含 Connector 和 Container 两个核心组件,以及其他功能组件。Tomcat 可以管理多个 Service,且各 Service 之间相互独立。

8.5Container 结构分析(包含了 4 个子容器)
每个 Service 会包含一个 Container 容器。在 Container 内部包含了 4 个子容器:
4个子容器的作用分别是:

1 Engine
引擎,用来管理多个虚拟主机,一个 Service 最多只能有一个 Engine

2 Host
代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点

3 Context
代表一个 Web 应用,包含多个 Servlet 封装器

4 Wrapper
封装器,容器的最底层。每一 Wrapper 封装着一个 Servlet,负责对象实例的创建、执行和销毁功能。

总:Engine、Host、Context 和 Wrapper,这四个容器之间属于父子关系。
容器 由一个引擎可以管理多个虚拟主机。每个虚拟主机可以管理多个 Web 应用。每个 Web 应用会有多个 Servlet 封装器。

九.Tomcat 请求过程


Tomcat 请求过程图示

Tomcat 部署优化,nginx,运维

开发java——写代码——编译jar——打包(war 、jar)
运维放在tomcat并行放在/webapps 当启动tomcat时会自动把包解压,解压成项目目录

 Tomcat 请求过程描述
1、用户在浏览器中输入网址,请求被发送到本机端口 8080,被在那里监听的 Connector 获得;
2、Connector 把该请求交给它所在的 Service 的 Engine(Container)来处理,并等待 Engine 的回应;
3、请求在 Engine、Host、Context 和 Wrapper 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑、数据存储等。
4、执行完之后的请求响应在 Context、Host、Engine 容器之间层层返回,最后返回给 Connector,并通过 Connector 返回给客户端。

5.Tomcat 详细请求过程
假设来自客户的请求为: http://localhost:8080/blue/blue_index.jsp
(1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
(2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
(3) Engine获得请求localhost/blue/blue_index.jsp,匹配它所拥有的所有虚拟主机Host
(4) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
(5) localhost Host获得请求/blue/blue_index.jsp,匹配它所拥有的所有Context
(6) Host匹配到路径为/blue的Context(如果匹配不到就把该请求交给路径名为"“的Context去处理)
(7) path=”/blue"的Context获得请求/blue_index.jsp,在它的mapping table中寻找对应的servlet
(8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
(9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
(10)Context把执行完了之后的HttpServletResponse对象返回给Host
(11)Host把HttpServletResponse对象返回给Engine
(12)Engine把HttpServletResponse对象返回给Connector
(13)Connector把HttpServletResponse对象返回给客户browser

6.Tomcat容器和功能组件
6.1结构图示

tomcat可以作为运行Java代码环境,只要把Java代码(.class可执行的类文件)或者war包或jar包放在/webapps中,那么在tomcat启动时,就可以解压并运行放在/webapps中的这些应用(只需要修改配置文件)

一.实战部署

1.Tomcat 服务部署

1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下

在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。
1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下

jdk-8u201-linux-x64.rpm
apache-tomcat-9.0.16.tar.gz

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

Tomcat 部署优化,nginx,运维

 2.安装JDK

cd /opt
rpm -qpl jdk-8u371-linux-x64.rpm
rpm -ivh jdk-8u371-linux-x64.rpm 
java -version

Tomcat 部署优化,nginx,运维 3.设置JDK环境变量

3.设置JDK环境变量
vim /etc/profile.d/java.sh
                                          
export JAVA_HOME=/usr/java/jdk1.8.0-x64                           #定义环境变量
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar #定义环境变量
export PATH=$JAVA_HOME/bin:$PATH                                  #定义环境变量


source /etc/profile.d/java.sh                   #刷新文件,使立即生效
java -version                                   #再次查看JDK版本                
   

3.1先在再开个终端 把7号 路径复制到1号机哪里的配置文件里Tomcat 部署优化,nginx,运维

3.2 这边贴上路径Tomcat 部署优化,nginx,运维

3.3  在再回到2号机这边在把  tools.jar 复制Tomcat 部署优化,nginx,运维

3.4 贴在1号机这边  配置文件就更改完成了Tomcat 部署优化,nginx,运维

Tomcat 部署优化,nginx,运维

 4.写一个java代码测试java是否安装完成

vim Hello.java

public class Hello {			
  public static void main(String[] args){
    System.out.println("Hello world!");
  }
}

Tomcat 部署优化,nginx,运维

javac Hello.java   #对源代码进行编译
java Hello         #执行
Hello WOrld!      #测试成功

 Tomcat 部署优化,nginx,运维

二.安装启动Tomcat

在部署Tomcat之前必须安装好jdk,因为jdk是Tomcat运行的必要环境。

1.解压apache到当前目录

cd /opt
tar xf apache-tomcat-8.5.16.tar.gz   #解压tomcat安装包

#将解压后的源码包目录拷贝至/usr/local/下并重命名为tomcat
mv apache-tomcat-8.5.16 /usr/local/tomcat

Tomcat 部署优化,nginx,运维

Tomcat 部署优化,nginx,运维

  2.##启动tomcat ##(去bin目录下)

 ##启动tomcat ##(去bin目录下)
 #后台启动
 /usr/local/tomcat/bin/startup.sh
 或
 /usr/local/tomcat/bin/catalina.sh start
 ​
 #前台启动
 /usr/local/tomcat/bin/catalina.sh run
 ​
 netstat -natp | grep 8080

Tomcat 部署优化,nginx,运维

Tomcat 部署优化,nginx,运维

 3. #浏览器访问测试

 浏览器访问Tomcat的默认主页192.168.158.22:8080  端口号为8080

Tomcat 部署优化,nginx,运维

三.优化tomcat启动速度 

 第一次启动tomcat可能会发现 Tomcat 启动很慢,默认情况下可能会需要几十秒,可以修改jdk参数进行改。

 vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
 --117行--修改这一行
 securerandom.source= file:/dev/urandom  #修改成伪随机数生成器,优化启动速度

Tomcat 部署优化,nginx,运维

四.Tomcat 虚拟主机配置

很多时候公司会有多个项目需要运行,一般不会是在一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源。此时, 就需要使用到 Tomcat 虚拟主机。

例如现在新增两个域名 www.kgc.com 和 www.benet.com, 希望通过这两个域名访问到不同的项目内容。

1.创建 kgc 和 benet 项目目录和文件

mkdir /usr/local/tomcat/webapps/kgc 
mkdir /usr/local/tomcat/webapps/benet

echo "This is kgc page\!" > /usr/local/tomcat/webapps/kgc/index.jsp
echo "This is benet page\!" > /usr/local/tomcat/webapps/benet/index.jsp

Tomcat 部署优化,nginx,运维

 2.修改 Tomcat 主配置文件 server.xml

修改 Tomcat 主配置文件 server.xml
vim /usr/local/tomcat/conf/server.xml
--165行前--插入
<Host name="www.kgc.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
	<Context docBase="/usr/local/tomcat/webapps/kgc" path="" reloadable="true" />
</Host>   

<Host name="www.benet.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
	<Context docBase="/usr/local/tomcat/webapps/benet" path="" reloadable="true" />
</Host>

Tomcat 部署优化,nginx,运维

 /usr/local/tomcat/bin/shutdown.sh     关闭 
/usr/local/tomcat/bin/startup.sh      启动

Tomcat 部署优化,nginx,运维

五.客户端浏览器访问验证 


echo "192.168.158.22 www.kgc.com www.benet.com" >> /etc/hosts

浏览器访问 http://www.kgc.com:8080/   页面显示This is kgc page\! 
浏览器访问 http://www.benet.com:8080/   页面显示This is benet page\!

Tomcat 部署优化,nginx,运维

浏览器访问 http://www.kgc.com:8080/   页面显示This is kgc page\! 

Tomcat 部署优化,nginx,运维

HTTP 请求过程:
(1)Connector 连接器监听的端口是 8080。由于请求的端口和监听的端口一致,连接器接受了该请求。
(2)因为引擎的默认虚拟主机是 www.kgc.com,并且虚拟主机的目录是webapps。所以请求找到了 tomcat/webapps 目录。
(3)访问的路径为根路径,URI 为空,即空是 Web 程序的应用名,也就是 context。此时请求找到 /usr/local/tomcat/webapps/kgc 目录,解析 index.jsp 并返回。文章来源地址https://www.toymoban.com/news/detail-520866.html

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

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

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

相关文章

  • 【Tomcat】Tomcat部署及优化

    Tomcat         它是一个免费、开源的web应用服务器;基于java代码开发的软件;处理动态请求和基于Java代码的页面开发;         可以在html当中写入Java代码,Tomcat可以解析html页面当中的Java代码,执行动态请求以及动态页面          缺点 :机制有问题,如果不对To

    2024年02月13日
    浏览(33)
  • 部署Nginx+keepalived+Tomcat集群架构

    部署Nginx+keepalived+Tomcat集群架构 集群架构背景 Nginx的高可用负载均衡架构 Nginx和LVS对比的总结: 搭建Nginx+keepalived+Tomcat的高可用负载均衡架构 关闭防火墙或开启8080端口; 删除webappsx下所有文件,创建ROOT目录了,添加ROOT/index.jsp页面,在页面中加入tomcat的IP地址,并打印出re

    2024年04月13日
    浏览(37)
  • docker应用部署(部署MySql,部署Tomcat,部署Nginx,部署Redis)

    一、部署MySQL 搜索mysql镜像 拉取mysql镜像 创建容器,设置端口映射、目录映射 参数说明: -p 3307:3306 :将容器的 3306 端口映射到宿主机的 3307 端口。 -v $PWD/conf:/etc/mysql/conf.d :将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录 -v $PWD/logs:/logs :将主机当前目

    2024年02月03日
    浏览(46)
  • Tomcat多实例部署及nginx+tomcat的负载均衡和动静分离

    静:静态页面   动: 动态页面 分别可以对静态页面和动态页面发起不同的请求,会有不同的响应结果。 ngix反向代理——负均均衡——tomcat为后端服务器——web静态nginx——静态请求nginx——动态页面——tomcat Nginx实现负载均衡的原理 Nginx实现负载均衡是通过反向代理实现Ngi

    2024年02月13日
    浏览(50)
  • Tomcat 部署及优化

    Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP程序的首

    2024年02月13日
    浏览(34)
  • Tomcat部署及优化

    目录 一、Tomcat的相关知识 1)Tomcat的简介 2)Tomcat的组件构成  3)Tomcat的功能组件结构  4)Tomcat的请求过程  二、Tomcat服务的部署  步骤一:搭建Tomcat运行环境   (1)关闭防火墙和selinux,防止其对安装过程的干扰 (2)将准备好的软件包拖入/opt目录下,进行安装 (3)设置

    2024年02月07日
    浏览(39)
  • Tomcat 部署优化

    目录 一.Tomcat介绍 二.了解Tomcat里面里面是放什么的 三. Tomcat:是一个特殊的服务   有两个领域  四.tomcat概述 五.再加上那个扩展java虚拟机(JVM) 调优   tomcat 优化分两种 六.Tomcat核心组件 ​编辑 容器:什么是容器 web容器:完成web服务的功能 Serviet容器: JSP 容器:  七

    2024年02月12日
    浏览(37)
  • Tomcat的部署和优化

    目录  一、Tomcat简介 二、Tomcat 的构成 三、Tomcat 功能组件结构 四、Tomcat 请求过程 五、Tomcat 服务部署 六、Tomcat 虚拟主机配置 七、Tomcat优化 1.Tomcat 配置文件参数优化 2.JVM优化          Tomcat 是 Java 语言开发的 ,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是

    2024年02月12日
    浏览(47)
  • Tomcat的部署及优化

    目录 1.Tomcat概述       1.1 Tomcat的组件构成​编辑       1.2 Tomcat功能组件结构       1.3 Tomcat的请求过程 2. Tomcat服务的部署  2.1 搭建Tomcat运行环境  3.设置JDK环境变量​  3.1测试java环境 4.安装启动Tomcat Tomcat 是 基于Java 语言开发的Tomcat 属于轻量级应用服务器,在中小型系

    2024年02月12日
    浏览(37)
  • 【Tomcat服务部署及优化】

    Tomcat服务器是Java语言开发的,免费的开放源代码的 Web应用服务器 。 Tomcat处理静态HTML的能力远不及Apache或者Nginx,通常是 作为一个Servlet和JSP容器 ,单独运行在后端。 Tomcat的核心功能组件有两个: 负责 接收和反馈外部请求 的 连接器Connector ; 负责 处理请求 的 容器Contain

    2024年02月09日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包