Linux安装配置Tomcat保姆级教程:从部署到性能调优

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

相关推荐
t5y221 小时前
【Linux】定时任务调度
linux·服务器
HY小海2 小时前
【Linux】进程概念
linux·运维·服务器
王八八。2 小时前
linux后台java、postSQL部署命令
java·linux·运维
瑞熙贝通实验室综合管理平台3 小时前
实验动物管理系统|以痛点为核心 构建动物房数字化管理新体系
linux
黄筱筱筱筱筱筱筱5 小时前
LINUX-防火墙
linux·服务器·网络
сокол5 小时前
【网安-Web渗透测试-靶场系列】AWD-Platform(ctf-hub)
linux·服务器·ubuntu·网络安全·docker
utf8mb4安全女神6 小时前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
L、2188 小时前
昇腾NPU性能调优Checklist——从“能跑“到“跑得快“的20步
服务器·人工智能·深度学习
不吃土豆的马铃薯9 小时前
Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
linux·服务器·开发语言·前端·c++
疯狂成瘾者9 小时前
常见的 Linux 版本
linux·运维·服务器