Linux服务器Tomcat安装及配置教程
演示环境说明
系统:Debian 12 (Linux)
内存:2G
JAVA:17.0.17
一、安装JDK
bash
# Debian/Ubuntu
apt update && apt install openjdk-17-jdk -y
# 验证
java -version
二、Tomcat 安装与基础部署
1.下载并解压Tomcat
bash
wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.21/bin/apache-tomcat-11.0.21.tar.gz
tar -zxvf apache-tomcat-11.0.21.tar.gz
mv apache-tomcat-11.0.21 /usr/local/tomcat
2.启动Tomcat(默认运行在8080端口)
bash
# 先加执行权限
chmod +x ./*.sh
# 启动
./startup.sh
# 停止
./shutdown.sh

3.验证是否启动成功
bash
curl http://localhost:8080
成功返回HTML内容

三、部署项目进行验证
1.创建一个简单的Java web项目进行测试
项目目录结构示例:
tomcat-test/
├─ index.jsp
└─ WEB-INF/
└─ web.xml
2.index.jsp(首页,Java+HTML)
jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Tomcat 测试</title>
</head>
<body>
<h2>✅ Tomcat 部署成功!</h2>
<p>服务器时间:<%= new java.util.Date() %></p>
<p>JSP 运行正常 | Java Web 环境没问题</p>
</body>
</html>
3.WEB-INF/web.xml(必需配置文件)
xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<display-name>TomcatTestDemo</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.部署
把整个tomcat-test文件夹上传到服务器apache-tomcat-11.0.21/webapps目录下

5.重启Tomcat
bash
./shutdown.sh
./startup.sh
6.访问测试
bash
curl http://localhost:8080/tomcat-test/

四、性能调优
1.JVM 内存优化
创建并编辑/usr/local/tomcat/apache-tomcat-11.0.21/bin/setenv.sh
bash
#!/bin/bash
JAVA_OPTS="-server"
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1g" # 堆内存:初始 512M,最大 1G,不抢占系统资源
JAVA_OPTS="$JAVA_OPTS -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m" # 元空间配置
JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC" # G1 垃圾回收(低延迟)
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8" # 解决乱码
export JAVA_OPTS
赋予执行权限:
bash
chmod +x ./setenv.sh
2.连接器(线程池)优化
编辑 /usr/local/tomcat/conf/server.xml,替换默认 Connector:
xml
<Connector
port="8080"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
maxThreads="150"
minSpareThreads="30"
maxConnections="8000"
acceptCount="80"
connectionTimeout="20000"
keepAliveTimeout="15000"
compression="on"
compressionMinSize="1024"
compressableMimeType="text/html,text/css,application/javascript,application/json"
redirectPort="8443"
/>
3.WEB.XML 静态资源缓存优化
编辑/usr/local/tomcat/apache-tomcat-11.0.21/conf/web.xml,找到 default servlet,添加:
xml
<init-param>
<param-name>cached</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cacheMaxSize</param-name>
<param-value>10240</param-value>
</init-param>
五、Tomcat管理后台配置
1.配置管理员账号
编辑 /usr/local/tomcat/apache-tomcat-11.0.21/conf/tomcat-users.xml,在 </tomcat-users> 前添加:
bash
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<user username="admin" password="123456" roles="manager-gui,manager-status"/> #管理员账号admin,密码123456

2.开放远程访问控制(方便测试)
编辑 /usr/local/tomcat/apache-tomcat-11.0.21/webapps/manager/META-INF/context.xml
xml
<Context antiResourceLocking="false" privileged="true" ignoreAnnotations="true">
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<!-- 允许所有IP访问 -->
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=".*" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
同步修改 host-manager 配置
bash
cp /usr/local/tomcat/apache-tomcat-11.0.21/webapps/manager/META-INF/context.xml /usr/local/tomcat/apache-tomcat-11.0.21/webapps/host-manager/META-INF/context.xml
六、查看Tomcat后台状态
1.登录后台
访问地址:http://你的服务器IP:8080/ 账号:admin 密码:123456
2.查看刚才部署的JAVA项目状态
在【应用程序列表】可以看到Tomcat运行的所有Java项目

3.查看配置的性能优化
可以直接访问http://你的服务器IP:8080/manager/status/all
