欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Tomcat部署及优化

Tomcat部署及优化

2024/10/24 22:20:56 来源:https://blog.csdn.net/m0_74860678/article/details/140701453  浏览:    关键词:Tomcat部署及优化

Tomcat部署及优化

  • 一、Tomcat概述
    • 1、Tomcat介绍
    • 2、Tomcat核心组件
    • 3、Tomcat请求处理
  • 二、Tomcat部署
  • 实验报告
    • 资源列表
    • 基础环境
    • 一、安装JDK
      • 1、配置环境变量
    • 二、安装启动Tomcat
      • 1、安装 Tomcat 服务
      • 2、启动 Tomcat 服务
    • 三、虚拟主机配置
      • 1、创建 www 和 bbs 项目目录和文件
      • 2、修改 Tomcat 主配置文件
      • 3、设置别名
      • 4、虚拟主机访问测试

一、Tomcat概述

1、Tomcat介绍

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

2、Tomcat核心组件

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

3、Tomcat请求处理

  • 用户在浏览器中输入网址 localhost:8080/test/index.jsp,请求被发送到本机端口 8080, 被在那里监听的 Coyote HTTP/1.1 Connector 获得;
  • Connector 把该请求交给它所在的 Service 的 Engine(Container)来处理,并等待Engine 的回应;
  • Engine 获得请求 localhost/test/index.jsp,匹配所有的虚拟主机 Host;
  • Engine 匹配到名为 localhost 的 Host(即使匹配不到也把请求交给该 Host 处理,因为该 Host 被定义为该 Engine 的默认主机) , 名为 localhost 的 Host 获得请求/test/index.jsp,匹配它所拥有的所有 Context。Host 匹配到路径为/test 的 Context(如果匹配不到就把该请求交给路径名为“ ”的 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部署

1.8080端口 - 这是Tomcat默认用来监听HTTP请求的端口。如果一台机器上运行着多个服务,并且标准的HTTP端口80被其他服务占用,那么8080就作为一个常见的备用端口。

2.8443端口 - 这是Tomcat默认用来处理HTTPS请求的端口。HTTPS提供了加密的传输层安全(TLS或SSL),这比HTTP更加安全,适合处理敏感信息。

3.8005端口 - 这个端口主要用于Tomcat的管理操作,如启动、停止或重启Tomcat实例。通常,这个端口用于远程管理操作,但需要注意的是,为了安全起见,应该限制对这个端口的访问。

4.8009端口 - 这是AJP(Apache JServ Protocol)的默认端口。AJP是一个专为Apache HTTP服务器和Tomcat设计的高效通信协议,用于在两者之间传递HTTP请求和响应。AJP相比于标准的HTTP协议,能够提供更快的性能,尤其是在高并发的情况下。

实验报告

资源列表

操作系统配置主机IP
CentOS7.3.16112C4Gtomcat192.168.72.154

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname tomcat
  • 上传软件包
[root@bogon ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.8.tar.gz  jdk-8u102-linux-x64.rpm

一、安装JDK

[root@bogon ~]# rpm -ivh jdk-8u102-linux-x64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...1:jdk1.8.0_102-2000:1.8.0_102-fcs  ################################# [100%]
Unpacking JAR files...tools.jar...plugin.jar...javaws.jar...deploy.jar...rt.jar...jsse.jar...charsets.jar...localedata.jar...
[root@bogon ~]# ls /usr/java/
default  jdk1.8.0_102  latest
[root@bogon ~]# ls /usr/java/jdk1.8.0_102/
bin        db       javafx-src.zip  lib      man          release  THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  include  jre             LICENSE  README.html  src.zip  THIRDPARTYLICENSEREADME.txt

1、配置环境变量

[root@bogon ~]# ls /etc/profile
/etc/profile# 设置 jdk 的环境变量
echo 'export JAVA_HOME=/usr/java/jdk1.8.0_102' >> /etc/profile
echo 'export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile# 刷新环境变量
[root@bogon ~]# source /etc/profile# 查看jdk 版本号
[root@bogon ~]# java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

二、安装启动Tomcat

1、安装 Tomcat 服务

# 从官网上下载
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz# 提前上传包
[root@bogon ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.8.tar.gz  jdk-8u102-linux-x64.rpm 
[root@bogon ~]# tar zxf apache-tomcat-9.0.8.tar.gz 
[root@bogon ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.8  apache-tomcat-9.0.8.tar.gz  jdk-8u102-linux-x64.rpm
[root@bogon ~]# mv apache-tomcat-9.0.8 /usr/local/tomcat
[root@bogon ~]# ls /usr/local/tomcat/
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

2、启动 Tomcat 服务

[root@bogon ~]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_102
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@bogon ~]# ss -nlpt | grep 8080
LISTEN     0      100       [::]:8080                  [::]:*                   users:(("java",pid=2080,fd=48))# 浏览器访问 192.168.72.154:8080

三、虚拟主机配置

1、创建 www 和 bbs 项目目录和文件

mkdir /usr/local/tomcat/webapps/www
echo "This is www page\!"> /usr/local/tomcat/webapps/www/index.jsp
mkdir /usr/local/tomcat/webapps/bbs
echo "This is bbs page\!"> /usr/local/tomcat/webapps/bbs/index.jsp

2、修改 Tomcat 主配置文件

[root@bogon ~]# vi /usr/local/tomcat/conf/server.xml
<Host name="www.test.com" appBase="/usr/local/tomcat/webapps"unpackWARs="true" autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/www" path="" reloadable="true" />
</Host>
<Host name="bbs.test.com" appBase="/usr/local/tomcat/webapps"unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/bbs" path="" reloadable="true" />
</Host># name="www.test.com":这指定了虚拟主机的域名,即www.test.com。
# appBase="/usr/local/tomcat/webapps":这是Web应用程序的基础目录。尽管这里指定的目录是/usr/local/tomcat/webapps,但<Context>元素中的docBase属性会覆盖这个值,以指向特定的应用程序目录。
# unpackWARs="true":表示Tomcat是否应该自动解压缩.war文件并将其展开到appBase目录下的相应位置。
# autoDeploy="true":表示Tomcat是否应该自动部署放置在appBase目录下的新应用。
# xmlValidation="false" 和 xmlNamespaceAware="false":这两个属性控制Tomcat如何处理Web应用的XML配置文件。
# docBase="/usr/local/tomcat/webapps/www":指定了Web应用的实际物理目录。在这个例子中,www应用的目录是/usr/local/tomcat/webapps/www。
# path="":表示该应用将映射到网站的根路径。如果path属性省略或为空字符串,则表示应用将映射到/。
# reloadable="true":表示是否允许热部署,即在不重启服务器的情况下重新加载应用。

3、设置别名

# 关闭
[root@bogon ~]# alias tmstop='/usr/local/tomcat/bin/shutdown.sh'
# 开启
[root@bogon ~]# alias tmstart='/usr/local/tomcat/bin/startup.sh'# 重启
[root@bogon ~]# alias tmrestart='/usr/local/tomcat/bin/shutdown.sh ; sleep 2; /usr/local/tomcat/bin/startup.sh'# 关闭
[root@bogon ~]# tmstop# 开启
[root@bogon ~]# tmstart
# 重启
[root@bogon ~]# tmrestart

4、虚拟主机访问测试

[root@bogon ~]# echo 192.168.72.154 www.test.com bbs.test.com >> /etc/hosts[root@bogon ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.72.154 www.test.com bbs.test.com
[root@bogon ~]# curl www.test.com:8080
This is www page\!
[root@bogon ~]# curl bbs.test.com:8080
This is bbs page\!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com