文章目录
一、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 压测工具