以热爱记生活

Apache Tomcat 全面指南:从安装配置到性能调优

引言

Apache Tomcat 是一个开源的轻量级 Web 应用服务器,是 Java Servlet、JavaServer Pages (JSP)、Java Expression Language 和 Java WebSocket 技术的官方参考实现。是最广泛使用的 Java 应用服务器之一,Tomcat 以其轻量、免费、开源和稳定的特性,成为了开发和部署 Java Web 应用程序的首选平台。本文让您全面了解 Tomcat,从基础安装到高级调优。

第一部分:基础入门与安装


1. 核心概念

2. 安装 Tomcat
Tomcat 依赖于 Java 环境,请确保先安装 JDK(推荐 JDK 8 或 11 等 LTS 版本)。

方法一:使用包管理器安装(Linux,如 Ubuntu)

# 更新包列表
sudo apt-get update

# 安装 JDK
sudo apt-get install openjdk-11-jdk

# 安装 Tomcat
sudo apt-get install tomcat9

# 查看状态
sudo systemctl status tomcat9

方法二:手动安装(适用于所有操作系统)

1、从 Apache Tomcat 官网 下载所需的 .tar.gz(Linux/macOS)或 .zip(Windows)压缩包。

2、解压到目标目录(如 /opt/tomcat 或 C:\Program Files\tomcat)。

3、设置环境变量:

    JAVA_HOME: 指向您的 JDK 安装目录。

    CATALINA_HOME: 指向您的 Tomcat 解压目录。

启动与停止
手动安装:

# 启动

$CATALINA_HOME/bin/startup.sh   # Linux/macOS
%CATALINA_HOME%\bin\startup.bat # Windows

# 停止
$CATALINA_HOME/bin/shutdown.sh  # Linux/macOS
%CATALINA_HOME%\bin\shutdown.bat # Windows
sudo systemctl start tomcat9
sudo systemctl stop tomcat9
sudo systemctl restart tomcat9

安装完成后,访问 http://localhost:8080,就能看到 Tomcat 的默认欢迎页面。

第二部分:核心配置详解Tomcat 的配置主要集中在 $CATALINA_HOME/conf/ 目录下的几个文件中。

1. server.xml - 主配置文件这是最重要的配置文件,定义了 Tomcat 的核心组件。

<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           maxThreads="200"
           minSpareThreads="10"
           acceptCount="100"
           enableLookups="false"
           compression="on"
           compressionMinSize="2048"
           compressableMimeType="text/html,text/xml,text/css,text/javascript,application/json" />
<!-- <Connector protocol="AJP/1.3" address="::1" port="8009" redirectPort="8443" /> -->
<Engine name="Catalina" defaultHost="localhost">
  <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>

2. web.xml - 默认应用部署描述符,此文件为所有 Web 应用提供默认的配置。您可以在这里配置默认的 Servlet、MIME 类型、会话超时时间等。

<session-config>
    <session-timeout>30</session-timeout> <!-- 会话超时时间(分钟) -->
</session-config>

3. context.xml - 上下文配置此文件的配置会应用于所有的 Web 应用。常用于配置数据库连接池(JNDI DataSource)、监控等。

<Context>
    <!-- 示例:配置一个 MySQL JNDI DataSource -->
    <Resource name="jdbc/MyDB"
              auth="Container"
              type="javax.sql.DataSource"
              maxTotal="100" maxIdle="30" maxWaitMillis="10000"
              username="your_username" password="your_password"
              driverClassName="com.mysql.cj.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/your_database"/>
</Context>

在应用的 WEB-INF/web.xml 中引用此资源。

4. 用户管理:tomcat-users.xml此文件用于配置访问 Tomcat 管理界面(Manager App 和 Host Manager)的用户和角色。

<tomcat-users>
    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>
    <user username="admin" password="supersecretpassword" roles="manager-gui,admin-gui"/>
</tomcat-users>

警告: 生产环境务必使用强密码,并考虑限制管理界面的访问 IP。

第三部分:性能优化与安全加固 

1. JVM 调优通过修改 $CATALINA_HOME/bin/setenv.sh(或 setenv.bat,如不存在则创建)文件来设置 JVM 参数。

# setenv.sh 示例
export JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
#垃圾回收
export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:MaxGCPauseMillis=200"

2.  连接器(Connector)调优

3. 部署优化

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »