当前位置: 首页 > article >正文

linux系统Tomcat目录介绍

Tomcat目录介绍

      • tomcat主目录
      • webapps目录
      • conf目录
      • tomcat管理
      • tomcat配置页面管理
      • server.xml配置文件
      • Connector主要参数
      • host主要参数

tomcat主目录

cd /data/application/tomcat
tree -L 1

.
├── bin          #存放tomcat的管理脚本
├── BUILDING.txt
├── conf         #tomcat的配置文件
├── CONTRIBUTING.md
├── lib          #web应用调用的jar包存放路径
├── LICENSE
├── logs         #tomcat日志存放目录,catalina.out日志为只要输出日志
├── NOTICE
├── README.md    #使用说明书
├── RELEASE-NOTES
├── RUNNING.txt
├── temp         #存放临时文件
├── webapps      #默认网站发布目录
└── work         #存放编译生产的.java与.class文件

webapps目录

cd /data/application/tomcat/webapps
tree -L 1

.
├── docs          #tomcat的帮助文档
├── examples      #web应用实例
├── host-manager  #主机管理
├── manager       #管理
└── ROOT          #默认站点根目录

conf目录

.
├── Catalina
├── catalina.policy
├── catalina.properties
├── context.xml         #Tomcat公用的环境配置,tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。
├── logging.properties
├── logs
├── server.xml           #tomcat主配置文件 tomcat的设置,可以设置端口号,添加虚拟机这些的,是对服务器的设置
├── server.xml.bak
├── server.xml.bak2
├── tomcat-users.xml    #tomcat 管理用户配置文件 Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用
├── tomcat-users.xsd
└── web.xml             #Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。

tomcat管理

启动程序 /data/application/tomcat/bin/startup.sh   #启动
关闭程序 /data/application/tomcat/bin/shutdown.sh  #关闭

tomcat配置页面管理

vim /data/application/tomcat/conf/tomcat-users.xml
添加这一段

<role rolename="admin‐gui" />
<role rolename="admin-script" />
<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="admin" password="0" roles="admin-script,admin-gui,manager-gui,manager-script"/>
vim /data/application/tomcat/webapps/docs/META-INF/context.xml 
vim /data/application/tomcat/webapps/examples/META-INF/context.xml 
vim /data/application/tomcat/webapps/host-manager/META-INF/context.xml 
vim /data/application/tomcat/webapps/manager/META-INF/context.xml 
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
 
注释掉,使用<!--   -->

或者更改成这样
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />

server.xml配置文件

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <!--
  port: 指定用于接受关闭命令的端口号
  shutdown: 指定关闭命令,可自定义,与启动脚本中的命令相对应
  -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--
  Listener: 用于配置全局监听器,此处为使用APR库进行性能优化的监听器
  className: 监听器类的完全限定名
  SSLEngine: 指定是否启用SSL引擎
  -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!--
  Listener: JSP引擎的监听器,用于编译和加载JSP页面
  className: 监听器类的完全限定名
  -->
  <GlobalNamingResources>
      <!--
      全局命名资源的配置部分,这里包含了一个可编辑的用户数据库的资源配置
      -->
      <Resource name="UserDatabase" auth="Container"
                type="org.apache.catalina.UserDatabase"
                description="User database that can be updated and saved"
                factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                pathname="conf/tomcat-users.xml" />
      <!--
      Resource: 定义了一个资源
      name: 资源的名称,这里为"UserDatabase"
      auth: 认证方式,Container表示使用容器的身份验证
      type: 资源的类型,这里为"org.apache.catalina.UserDatabase"
      description: 资源的描述信息
      factory: 创建资源的工厂类的完全限定名
      pathname: 用户数据库文件的路径,这里为"conf/tomcat-users.xml"
      -->
  </GlobalNamingResources>
  <Service name="Catalina">
    <!--
    Service: Tomcat服务的配置
    name: 服务名称
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!--
    Connector: 配置用于接受HTTP请求的连接器
    port: 监听的端口号
    protocol: 使用的协议
    connectionTimeout: 连接超时时间
    redirectPort: 重定向端口,用于HTTPS连接
    -->
    <!-- 其他连接器的配置 -->
    <Engine name="Catalina" defaultHost="localhost">
      <!--
      Engine: Web容器引擎的配置
      name: 引擎名称
      defaultHost: 默认的主机名
      -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!--
        Realm: 安全领域的配置
        className: 安全领域实现类的完全限定名
        -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
        <!--
        嵌套的Realm配置,这里使用UserDatabaseRealm作为默认的安全领域
        resourceName: 资源名称,对应于conf/tomcat-users.xml文件中的UserDatabase
        -->
      </Realm>
      <Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <!--
        Host: 虚拟主机的配置
        name: 主机名
        appBase: Web应用程序的基础路径
        unpackWARs: 是否自动解压部署的WAR文件
        autoDeploy: 是否自动部署Web应用程序
        -->
        <!-- 其他虚拟主机的配置 -->
        <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" />
        <!--
        Valve: 用于记录访问日志
        className: 完全限定名
        directory: 日志存储的目录
        prefix: 日志文件名的前缀
        suffix: 日志文件名的后缀
        pattern: 日志格式
        -->
      </Host>
      <!-- 其他虚拟主机的配置 -->
    </Engine>
  </Service>
</Server>

Connector主要参数

port:指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求
protocol:连接器使用的协议,支持HTTP和AJP。AJP(Apache Jserv Protocol)专用于tomcat与apache建立通信的
redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
maxThreads:接收最大请求的并发数
connectionTimeout  指定超时的时间数(以毫秒为单位)

host主要参数

host:表示一个虚拟主机
name:指定主机名
appBase:应用程序基本目录,即存放应用程序的目录.一般为appBase="webapps",相对于CATALINA_HOME而言的,也可以写绝对路径。
unpackWARs:如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序
autoDeploy:在tomcat启动时,是否自动部署

http://www.kler.cn/news/233218.html

相关文章:

  • 深入理解java之多线程(一)
  • RocketMQ(二):领域模型(生产者、消费者)
  • Mac电脑如何通过终端隐藏应用程序?
  • 鸿蒙 WiFi 连接 流程
  • AI大模型开发架构设计(9)——AI 编程架构刨析和业务应用实战案例
  • 【Java万花筒】实时洞察与智能分析:构建成熟的Java应用程序监控与日志处理方案
  • 深度学习的进展及其在各领域的应用
  • C++的多态(Polymorphism)
  • 电商小程序02数据源设计
  • 在Visual Studio中引用和链接OpenSceneGraph (OSG) 库
  • Blazor Wasm 身份验证和授权之 OpenID 与 OAuth2
  • springboot169基于vue的工厂车间管理系统的设计
  • 【OpenCV入门讲解——超详细】
  • 【Spring】Bean 的生命周期
  • 江科大STM32 终
  • 瑞芯微推理RKNN使用
  • 传输频宽是啥?对网速影响有多大?
  • 【MySQL进阶之路】磁盘随机读写和顺序读写对MySQL性能的影响
  • 《动手学深度学习(PyTorch版)》笔记7.7
  • Git 消除对某个文件的追踪
  • 【代码】Processing笔触手写板笔刷代码合集
  • 【0256】揭晓pg内核中MyBackendId的分配机制(后端进程Id,BackendId)(二)
  • C++初阶篇----新手进村
  • 微服务组件
  • go语言进阶篇——面向对象(一)
  • Redis 使用 RDB 持久化方式的过程
  • 基于鲲鹏服务器的LNMP配置
  • 机器学习:回归决策树(Python)
  • re:从0开始的CSS学习之路 7. 盒子模型
  • AR特效自研AI算法技术解决方案