理论+实验——Tomcat 部署及优化

一、Tomcat 安装部署

1.1、Tomcat 简介

免费的、开放源代码的Web应用服务器

Apache软件基金会( Apache Software Foundation)Jakarta项目中的一个核心项目

由 Apache、Sun和一些公司及个人共同开发而成

深受Java爱好者的喜爱,并得到部分软件开发商的认可

是目前比较流行的Web应用服务器

1.2、Tomcat 核心组件

在这里插入图片描述
通常意义上的 Web 服务器接收请求后,只是单纯地相应静态资源,如 HMTL 文件,图片文件等,不能再红异端进行一定的处理操作。Tomcat 是 Apache 下的一个子项目,它具备 Web 服务器的所有功能,不仅可以监听接受邀请求并响应静态资源,而且可以在后端运行特定规范的 Java 代码 Servlet,同时将执行的结果以 HTML 代码的形式写回客户端。
Tomcat 由一系列的组件构成,其中核心的组件有三个:

  • Web容器:完成Web服务器的功能
  • Servlet容器:名字为catalina,用于处理Servlet代码
  • JSP容器:用于将JSP动态网页翻译成Servlet代码

1.3、Tomcat 处理请求过程

在这里插入图片描述
Tomcat 处理请求过程:
(1)用户在浏览器中输入网址localhost:8080/test/index.jsp,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得;
(2)Connector把该请求交给它所在的Service的Engine(Container)来处理,并等待Engine的回应;
(3)Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host;
(4)Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理);
(5)path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL Pattern为*.jsp的Servlet,对应于JspServlet类;
(6)构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost(),执行业务逻辑、数据存储等;
(7)Context把执行完之后的HttpServletResponse对象返回给Host;
(8)Host把HttpServletResponse对象返回给Engine;
(9)Engine把HttpServletResponse对象返回Connector;
(10)Connector把HttpServletResponse对象返回给客户Browser

1.4、Tomcat 部署步骤

1.4.1、下载并安装jdk

JDK是Java语言的软件开发工具包
JDK是Tomcat运行的必要环境
百度搜索 Tomcat即可
在这里插入图片描述
下载软件包后,将jdk软件包上传到/root下,安装jdk

[root@localhost ~]# rpm -ivh jdk-8u201-linux-x64.rpm 
[root@localhost ~]# cd /usr/java/jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]# ll
[root@localhost jdk1.8.0_201-amd64]# vi /etc/profile
#最后一行添加#
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost jdk1.8.0_201-amd64]# source /etc/profile
[root@localhost jdk1.8.0_201-amd64]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

1.4.2、安装并启动Tomcat

将安装包上传到/root下

[root@localhost ~]# tar xf apache-tomcat-9.0.16.tar.gz 
[root@localhost ~]# mv apache-tomcat-9.0.16 /usr/local/tomcat
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh

浏览器中输入:http://20.0.0.25:8080
在这里插入图片描述

1.4.3、优化启动速度

[root@localhost ~]# vi /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security 
securerandom.source=file:/dev/urandom  ##修改
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh   #关闭
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh    #开启
[root@localhost ~]# ll /usr/local/tomcat/
total 124
drwxr-x--- 2 root root  4096 Sep  8 03:31 bin
#存放启动和关闭Tomcat的脚本文件,比较常用的是catalina.sh,startup.sh,shutdown.sh三个文件#
-rw-r----- 1 root root 19203 Feb  5  2019 BUILDING.txt
drwx------ 3 root root   254 Sep  8 03:32 conf
#存放Tomcat服务器的各种配置文件,比较常用的是server.xml,contest.xml,tomcat-users.xml,web.xml四个文件#
-rw-r----- 1 root root  6095 Feb  5  2019 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 Sep  8 03:31 lib
#存放Tomcat服务器的jar包,一般不做任何改动,除非连接第三方服务,比如redis,那就需要相应的jar包#
-rw-r----- 1 root root 57092 Feb  5  2019 LICENSE
drwxr-x--- 2 root root   197 Sep  8 03:32 logs  
#存放Tomcat日志#
-rw-r----- 1 root root  2333 Feb  5  2019 NOTICE
-rw-r----- 1 root root  3255 Feb  5  2019 README.md
-rw-r----- 1 root root  6854 Feb  5  2019 RELEASE-NOTES
-rw-r----- 1 root root 16262 Feb  5  2019 RUNNING.txt
drwxr-x--- 2 root root    30 Sep  8 03:31 temp 
#存放Tomcat运行时产生的文件#
drwxr-x--- 7 root root    81 Feb  5  2019 webapps
#存放项目资源的目录#
drwxr-x--- 3 root root    22 Sep  8 03:32 work 
#Tomcat工作目录,一般清除Tomcat缓存的时候会用到#

二、 虚拟主机配置

2.1、 虚拟主机概述

有多个项目同时运行时,一台服务器不建议运行多个Tomcat服务,需要配置虚拟主机
通过两个域名访问到不同的项目内容
步骤:

  • 创建51xit和52xit项目目录和文件
  • 修改Tomcat主配置文件
  • 重启Tomcat服务
  • 访问测试

2.2 、创建51xit和52xit项目目录和文件

[root@localhost ~]# mkdir /usr/local/tomcat/webapps/51xit
[root@localhost ~]# echo "This is 51xit page!" > /usr/local/tomcat/webapps/51xit/index.jsp
[root@localhost ~]# mkdir /usr/local/tomcat/webapps/52xit
[root@localhost ~]# echo "This is 52xit page!" > /usr/local/tomcat/webapps/52xit/inde

2.3、修改Tomcat主配置文件

[root@localhost ~]# vi /usr/local/tomcat/conf/server.xml
<Host name="www.51xit.top"  appBase="/usr/local/tomcat/webapps"
            unpackWARs="true" autoDeploy="true" xmlValidation="false"
            xmlNamespaceAware="false">
              <Context docBase="/usr/local/tomcat/webapps/51xit"
                path="" reloadable="true" />
      </Host>
    
      <Host name="www.52xit.top"  appBase="/usr/local/tomcat/webapps"
            unpackWARs="true" autoDeploy="true" xmlValidation="false"
            xmlNamespaceAware="false">
              <Context docBase="/usr/local/tomcat/webapps/52xit"
                path="" reloadable="true" />
      </Host>
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh 
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh 

2.4、测试

客户端hosts文件中绑定两个域名:
20.0.0.25 www.51xit.top www.52xit.top
浏览器输入:

  • http://www.51xit.top:8080
  • http://www.52xit.top:8080

在这里插入图片描述
在这里插入图片描述

三、Tomcat 优化

■ 操作系统优化(内核参数优化)
■ Tomcat配置文件参数优化
■ Java虚拟机(JVM)调优
在这里插入图片描述
Tomcat 官方文档
在这里插入图片描述
优化前后可用jmeter压测工具进行压测

四、jmeter 压测工具

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ZG_66/article/details/108584801
今日推荐