题目
Tomcat 部署 Web 应用及修改默认端口
信息
- 类型:问答
- 难度:⭐
考点
Web应用部署方式,默认端口配置,配置文件基础操作
快速回答
在 Tomcat 中部署 Web 应用有两种主要方式:
- 自动部署:将 WAR 文件或解压后的应用目录放入
webapps文件夹 - 修改默认端口:编辑
conf/server.xml文件,修改 Connector 的 port 属性
1. 部署 Web 应用
原理说明:Tomcat 会自动监控 webapps 目录,检测到新应用时会自动解压 WAR 文件并加载应用。
操作步骤:
- 将编译打包的 WAR 文件(如
myapp.war)复制到{Tomcat安装目录}/webapps - 重启 Tomcat 服务,应用会自动部署到
http://localhost:8080/myapp
代码示例(目录结构):
tomcat/
├── bin/
├── conf/
├── webapps/
│ ├── myapp.war # 部署时放入此处
│ └── myapp/ # 自动解压生成的目录
└── ...2. 修改默认端口
原理说明:Tomcat 通过 server.xml 中的 Connector 组件配置网络连接,默认 HTTP 端口为 8080。
操作步骤:
- 打开
conf/server.xml文件 - 找到 HTTP Connector 配置(约在 69 行附近)
- 修改
port属性值
配置文件修改示例:
<!-- 修改前 -->
<Connector port="8080" protocol="HTTP/1.1" ... />
<!-- 修改后(改为 9090)-->
<Connector port="9090" protocol="HTTP/1.1" ... />3. 最佳实践
- 生产环境建议使用 WAR 包部署而非解压目录,便于版本管理
- 修改端口后需重启 Tomcat:
./shutdown.sh && ./startup.sh(Linux) - 避免使用 1024 以下端口(需要 root 权限)
4. 常见错误
- 端口冲突:若端口被占用,Tomcat 启动失败,检查日志
logs/catalina.out - 文件权限问题:Linux 系统需确保
webapps目录有写入权限 - 配置错误:修改
server.xml后格式错误会导致 Tomcat 无法启动
5. 扩展知识
- 热部署:在
conf/server.xml中添加autoDeploy="true"属性(默认已启用) - 上下文路径:可通过重命名 WAR 文件改变访问路径(如
sales.war→http://localhost:8080/sales) - 默认应用:将 WAR 文件命名为
ROOT.war可设置为根路径应用(http://localhost:8080/)