Tomcat配置解析

1 部署Tomcat

传送门:(一)Ubuntu18.04安装开发软件及图标启动参见第七章:7 安装Tomcat

2 Tomcat监控界面

2.1 配置

  • 配置文件路径
/usr/tomcat/apache-tomcat-8.5.35/conf
  • 配置文件
tomcat-users.xml
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
</tomcat-users>
序号角色名称描述
1manager-gui登录GUI状态界面
2manager-script登录text状态界面
3manager-jmx允许接入JMX协议状态界面
4manager-status只允许进入状态界面

授权使用manager-gui则禁止同时使用manager-script和manger-jmx.

2.2 启动

  • 启动Tomcat
startup.sh
  • 登录Tomcat
localhost:8080
  • 进入服务状态监控界面
    在这里插入图片描述
图2.1 进入Tomcat服务监控
  • 服务状态管理
    在这里插入图片描述
图2.2 服务状态监管

3 访问403

修改文件:webapps/manager/META-INF/context.xml

  • 原文件
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
  • 修改后
    删除Value
<Context antiResourceLocking="false" privileged="true" >
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

4 配置https

conf文件夹下建立cert_files文件夹,将认证文件保存到cert_files中.

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" 
maxThreads="150" SSLEnabled="true" scheme="https" 
secure="true" clientAuth="false" 
sslProtocol="TLS" keystoreFile="conf/cert_files/*****.pfx" 
keystoreType="PKCS12" keystorePass="******" 
useBodyEncodingForURI="true"/>

本次配置使用pfx认证格式文件.

序号参数描述
1keystoreFile密钥文件所在路径
2keystorePass申请密钥时生成的密码
  • 访问路径
https://ip:8443/**

协议https,端口:8443

5 部署多个war包

5.1 配置server.xml

  • 路径
    /usr/tomcat/apache-tomcat-8.5.35/conf/server.xml
  • 第一个服务配置
<Service name="Catalina-1">
     <Connector executor="tomcatThreadPool"
                port="18080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" 
                maxThreads="500"
                minSpareThreads="100"
                acceptCount="500"/>
 
     <Connector port="8009" protocol="AJP/1.3" 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-1"
             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>
  • 第二个服务配置
 <Service name="Catalina-2">
     <Connector executor="tomcatThreadPool"
                port="18088" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" 
                maxThreads="500"
                minSpareThreads="100"
                acceptCount="500"/>
 
     <Connector port="8009" protocol="AJP/1.3" 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-2"
             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>

5.2 配置属性解析

序号属性描述
1Service指定不同服务名称
2Connector指定运行端口及重定向端口
3Host指定运行的服务,其中,appBase为war所在的文件夹,默认webapps路径为:/usr/tomcat/apache-tomcat-8.5.35,将不同的war包放在不同的webapps文件夹中
  • 注意
    不同的war包放在同一个webapps中,运行的端口是相同的,以项目名称作为区分前缀.
    若使用不同的端口,可使用不同的webapps文件夹,指定各自的运行端口.
    在work文件夹中会生成与Servcie名称相同的文件夹.

【参考文献】
[1]https://blog.csdn.net/z3261743/article/details/79880492
[2]https://blog.csdn.net/u012167045/article/details/61624226
[3]https://blog.csdn.net/u010904188/article/details/84313355
[4]https://blog.csdn.net/u012832579/article/details/83651469

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值