Appearance
J2EE_004 Tomcat安装及部署笔记
目录
1. Tomcat简介
- Tomcat 是Apache基金会开源的轻量级Web应用服务器,支持Servlet/JSP规范,是Java Web开发的核心容器。
- 版本选择:
- Tomcat 10.x(对应Jakarta EE 9+,包名从
javax
改为jakarta
) - Tomcat 9.x(对应Java EE 8,包名为
javax
,推荐学习兼容性更好)
- Tomcat 10.x(对应Jakarta EE 9+,包名从
- 官网下载:https://tomcat.apache.org
2. Tomcat安装
Windows安装
下载解压
- 下载
apache-tomcat-9.0.xx.zip
(或.exe
安装版)。 - 解压到无空格路径(如
D:\tomcat9
)。
- 下载
配置环境变量(可选)
bashCATALINA_HOME = D:\tomcat9
- 将
%CATALINA_HOME%\bin
添加到PATH
环境变量。
- 将
启动/停止Tomcat
bash# 启动 startup.bat # 停止 shutdown.bat
验证安装
- 浏览器访问:http://localhost:8080
- 看到Tomcat欢迎页即成功。
Linux安装
下载解压
bashwget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.xx/bin/apache-tomcat-9.0.xx.tar.gz tar -zxvf apache-tomcat-9.0.xx.tar.gz -C /opt
启动/停止
bash# 启动 /opt/tomcat9/bin/startup.sh # 停止 /opt/tomcat9/bin/shutdown.sh
开放防火墙端口
bashsudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
3. Tomcat目录结构
├── bin # 启动/停止脚本
├── conf # 配置文件(server.xml、web.xml)
├── logs # 日志文件
├── webapps # 部署的Web应用目录
├── work # JSP编译后的Servlet文件
└── lib # 依赖库
4. 部署Web应用
方式1: WAR包部署
- 打包项目为
xxx.war
(Maven项目:mvn clean package
)。 - 将WAR文件复制到
tomcat/webapps
目录。 - Tomcat自动解压并部署,访问路径:
http://localhost:8080/xxx
。
方式2: 目录直接部署
- 在
webapps
下创建目录myapp
。 - 将Web资源(JSP/Servlet/HTML)放入
myapp
,结构如下:myapp/ ├── WEB-INF/ │ ├── web.xml # 部署描述文件 │ └── classes/ # 编译后的.class文件 └── index.jsp # 入口页面
- 访问路径:
http://localhost:8080/myapp
。
方式3: IDEA集成Tomcat部署
- 添加Tomcat配置
- 打开
Run/Debug Configurations
→ 点击+
→ 选择Tomcat Server
→ 配置Tomcat路径。
- 打开
- 部署项目
- 在
Deployment
标签页 → 添加Artifact
(WAR包或Exploded模式)。
- 在
- 启动调试
- 点击运行,IDEA自动启动Tomcat并部署应用。
5. 常见配置
1. 修改端口号
- 编辑
conf/server.xml
,找到<Connector>
标签:
xml
<Connector port="8080" protocol="HTTP/1.1" />
修改port
值为其他端口(如80
)。
2. 内存调优
- 修改
bin/catalina.sh
(Linux)或catalina.bat
(Windows):bash# Linux export JAVA_OPTS="-Xms512m -Xmx1024m" # Windows set "JAVA_OPTS=-Xms512m -Xmx1024m"
3. 日志管理
- 查看日志:
- 控制台日志:
logs/catalina.out
- 访问日志:
logs/localhost_access_log.*.txt
- 控制台日志:
- 日志级别调整:修改
conf/logging.properties
。
4. 虚拟主机配置
- 在
server.xml
中添加<Host>
:xml<Host name="www.example.com" appBase="webapps_example" />
6. 安全加固
- 删除默认应用
- 清空
webapps
下的docs
、examples
、manager
等目录。
- 清空
- 禁用管理页面
- 注释
conf/tomcat-users.xml
中的管理员账号配置。
- 注释
- 配置防火墙
- 仅开放必要端口(如80、443)。
7. 常见问题
1. 启动失败:端口冲突
- 错误信息:
Address already in use
- 解决:
- 关闭占用端口的进程(如其他Tomcat实例)。
- 修改
server.xml
中的端口号。
2. 访问404:应用未部署
- 检查:
- WAR包是否在
webapps
目录。 - 应用目录结构是否符合规范。
- WAR包是否在
3. 中文乱码
- 在
conf/server.xml
的<Connector>
标签添加:xml<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />