tomcat入门介绍

tomcat目录

  • 解压后,可以看到tomcat有以下目录
/bin - 启动、关闭和其他脚本
  • *.sh后缀是linux下的脚本文件
  • *.bat后缀windows系统下的脚本文件
  • startup.sh startup.bat是tomcat启动脚本
  • shutdownsh shutdown.bat是tomcat停止脚本
  • version.sh version.bat查看tomcat版本信息
  • setclasspaty.sh setclasspath.bat设置tomcat的class路径,和jdk路径
  • setenv.sh setenv.bat文件中没有,需要的话自己创建个就行,tomcat参数设置文件,tomcat8以后,推荐这种方式配置(linux下配置)
shell 复制代码
export CATALINA_OPTS="$CATALINA_OPTS -server -Xms2048m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/../apache-tomcat-8.5.91/logs/oom.hprof"
/conf - 配置文件和相关 DTD。这里最重要的文件是server.xml。它是容器的主要配置文件。
  • server.xml文件
xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!-- 停止端口  -->
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <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" />
  </GlobalNamingResources>
  <!-- 代表一个Engine元素以及一组与之相连的Connector元素 -->
  <Service name="Catalina">
    <!-- 代表了外部客户端发送请求到特定Service的接口;同时也是外部客户端从特定Service接收响应  -->
    <!-- 8080访问端口 protocol协议,默认的nio协议 connectionTimeout表示http请求连接的超时时间 redirectPort表示要求https如果是http的话强制重定向到8443 -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    <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>
    </Engine>
  </Service>
</Server>
/logs - 默认情况下日志文件位于此处
/webapps - 网络应用程序部署位置

执行,双击startup.sh

  • 修改日志编码

  • 调整完日志编码之后,再次重启tomcat
  • 关闭的时候直接关掉窗口,或者执行,bin目录下shutdown.bat
  • 重启之后可以看到日志正常,通过启动日志可以看到一些配置信息
  • 启动后通过http://localhost:8080/地址访问tomcat
相关推荐
Grey Zeng5 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白6 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默10 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群12 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL13 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301413 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥13 小时前
原来公平锁和非公平锁差别这么大
java
渣哥14 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K14 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty72514 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构