tomcat

本文档详细介绍了Tomcat的应用场景,包括其作为web容器的角色,以及如何进行安装,强调了设置环境变量和启动服务的步骤。此外,重点讨论了Tomcat的配置文件结构,特别是server、service、Connector、engine和host的关系,并提到了默认主目录和虚拟主机的配置方法,包括基于不同端口号、IP地址和主机头值的虚拟主机配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tomcat

一,应用

web应用,web容器,Java中间件

二.安装

1.需要运行环境(tomcat本身也是一个java程序)

yum -y install java-1.8.0-openjdk
这个软件可以提供JDK:java可执行的文件、jre(jave的运行环境)、java类库

2.安装tomcat(免编译安装)

tar -axf apache-tomcat-9.0.45.tar.gz -C /usr/local/
cd /usr/local/
mv apache-tomcat-9.0.45/ tomcat

3.设置环境变量

vim /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat   #所有实例共享的主目录
export CATALINA_BASE=$CATALINA_HOME   #每个实例独有的主目录
export PATH=$PATH:$CATALINA_HOME/bin 

source /etc/profile  #刷新

4.启动服务

startup.sh     #启动服务
netstat -tunlp  # 默认是tcp8080端口
firewall-cmd --add-port=8080/tcp

三.配置文件

1.配置文件

需要了解的几个配置文件:server.xml   web.xml  tomcat-users.xml
web.xml  #可以修改及定义首页文件
tomcat-users.xml  # 定义角色及相应访问权限的用户
server.xml  #核心的配置文件
这个文件中有多层标签,需要记忆的:
<server>   #顶级标签,一个实例
    <service>   #服务标签,把连接器与引擎进行整合 类似基本不同端口或ip的虚拟主机
        <Connector>  #侦听用户请求(侦听的端口)
        <Engine>        #处理请求
             <Host>      #主机标签,基于不同域名的虚拟主机

2.特点

1.一个server里面可以包含一个或多个service
2.一个service里面可以有多个Connector(连接器),但是只能有一个engine
3.engine在一个server里面名称唯一,一个engine里面又包含多个host
4.同一个engine里,host名称(虚拟主机名称)必须唯一

3.配置文件结构

在这里插入图片描述

4.tomcat默认主目录

工程包(开发人员写好代码的压缩包): C A T A L I N A B A S E / w e b a p p s h t m l 静 态 网 页 : CATALINA_BASE/webapps html静态网页: CATALINABASE/webappshtmlCATALINA_BASE/webapps/ROOT

5.虚拟主机

1.基于相同ip,不同端口号 (创建多个service标签)

  • 自定义网站根目录

mkdir /www01 /www02

cp -rf /usr/local/tomcat/webapps /www01 #复制默认的web文件
cp -rf /usr/local/tomcat/webapps /www02

  • 自定义首页文件

echo this is yjs > /www01/webapps/ROOT/index.html
echo this is test > /www02/webapps/ROOT/index.html

  • 复制 之间的内容需要改动的地方:

1)service、engins的名称不能相同
2)所有的端口号不能相同
3)自定义各自的网站主目录

<Service name="Catalina">



<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

<Engine name="Catalina" defaultHost="localhost">

  <Realm className="org.apache.catalina.realm.LockOutRealm">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="UserDatabase"/>
  </Realm>

  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

​    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
​           prefix="localhost_access_log" suffix=".txt"
​           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>
  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

​    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
​           prefix="localhost_access_log" suffix=".txt"
​           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

  </Engine>
  </Service>
</Server>

2.基于相同端口,不同ip ( 创建多个service标签)
与方式一类似,连接器中除了指定端口,还需要指定ip
address=“ip”

3.相同端口相同ip,不同主机头值 (创建多个host标签)
不需要添加service,只需要创建多个host标签

  <Host name="www.yjs.com"  appBase="/www01/webapps"
            unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>


      <Host name="www.test.com"  appBase="/www02/webapps"
            unpackWARs="true" autoDeploy="true">
    
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    

    
      </Host>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值