tomcat是java web开发最常用的轻量级服务器,日常开发分为本地部署(windows开发调试)和远程部署(linux云服务器线上上线)两种场景。很多新手会混淆两种部署的配置差异、端口放行、项目上线流程。
本文从零手把手教学,分别讲解windows本地tomcat部署、linux云服务器远程tomcat部署,包含环境配置、服务启动、项目部署、端口配置、常见报错解决,全程实操可直接复刻,适合入门学习和项目上线使用。
环境说明
- 本地环境:windows 10/11 + jdk1.8+ + tomcat9.0(通用稳定版)
- 远程环境:阿里云/腾讯云linux服务器(centos7/8)+ jdk1.8 + tomcat9.0
- 部署项目:普通java web项目(war包部署,通用所有ssm/springboot旧版web项目)
一、前置必备:jdk环境安装配置
tomcat运行依赖jdk环境,必须提前配置,本地和远程服务器都需要安装对应版本jdk(推荐jdk1.8,兼容性最强)。
1.1 windows本地jdk配置
- 安装jdk1.8,安装路径建议纯英文无中文无空格(如:
d:\java\jdk1.8) - 配置系统环境变量:新增
java_home,值为jdk安装根目录 - 在path变量中添加:
%java_home%\bin cmd输入
java -version,输出版本号即配置成功
1.2 linux远程服务器jdk配置
centos服务器可直接yum安装,简单高效:
yum install java-1.8.0-openjdk-devel -y # 验证版本 java -version
二、windows本地tomcat部署(开发调试专用)
本地部署核心用于项目本地调试、功能测试、开发预览,无需配置防火墙、公网ip,操作简单,仅需本地环境配置。
2.1 tomcat下载与解压
- 官网下载tomcat9.0压缩包(zip格式):apache tomcat官网
- 解压到纯英文路径,禁止中文、空格、特殊字符(推荐:
d:\java\apache-tomcat-9.0) - 无需安装,解压即能用
2.2 配置tomcat环境变量(可选,推荐配置)
新增系统变量:
catalina_home:tomcat解压根目录- path追加:
%catalina_home%\bin
2.3 启动、关闭tomcat服务
进入tomcat bin 目录:
- 启动服务:双击
startup.bat,黑窗口不闪退即为启动成功 - 关闭服务:双击
shutdown.bat
访问测试:浏览器输入http://localhost:8080,出现tomcat官方欢迎页面,说明本地部署成功。
2.4 本地部署java web项目(两种方式)
方式1:自动部署(最简单,推荐新手)
将项目打包好的 xxx.war 文件,直接复制到tomcat webapps 目录,重启tomcat后,服务器会自动解压war包、加载项目。
访问地址:http://localhost:8080/项目名
方式2:手动配置虚拟路径(自定义项目路径)
修改 conf/server.xml,在<host>标签内添加配置:
<context path="/myweb" docbase="d:\java\webproject" reloadable="true" crosscontext="true"/>
- path:浏览器访问项目路径
- docbase:本地项目真实存放路径
- reloadable="true":修改代码自动热部署,无需重启服务
2.5 本地部署常见问题
- 启动窗口闪退:jdk环境未配置、端口8080被占用、路径含中文
- 端口占用解决:修改
conf/server.xml中8080端口为8081/8082
三、linux远程服务器tomcat部署(项目上线专用)
远程部署是将项目部署到云服务器公网环境,实现外网访问,供用户线上浏览使用,相比本地部署,多了服务器端口放行、防火墙配置、远程文件上传、开机自启等核心配置。
3.1 上传并解压tomcat安装包
- 本地下载tomcat9.0 tar.gz压缩包,通过xshell、finalshell、rz命令上传到服务器
- 推荐上传目录:
/usr/local/ - 解压命令:
# 解压tomcat tar -zxvf apache-tomcat-9.0.tar.gz -c /usr/local/ # 重命名(方便后续操作) mv /usr/local/apache-tomcat-9.0 /usr/local/tomcat9
3.2 服务器核心配置(重中之重)
远程部署最大的坑:启动成功但外网无法访问,本质是防火墙和安全组未放行端口。
3.2.1 防火墙放行8080端口
# centos7 放行端口 firewall-cmd --permanent --add-port=8080/tcp # 重启防火墙生效 firewall-cmd --reload # 查看已放行端口 firewall-cmd --list-ports
3.2.2 云服务器安全组配置
阿里云/腾讯云后台,进入服务器安全组配置,手动添加规则:
- 协议:tcp
- 端口:8080
- 授权对象:0.0.0.0/0(允许所有外网访问)
3.3 启动、停止、重启tomcat
# 启动 /usr/local/tomcat9/bin/startup.sh # 停止 /usr/local/tomcat9/bin/shutdown.sh # 查看运行日志(排查报错) tail -f /usr/local/tomcat9/logs/catalina.out
访问测试:浏览器输入 http://服务器公网ip:8080,出现tomcat首页即远程部署成功。
3.4 远程部署java web项目
方式1:war包直接部署(主流上线方式)
- 本地将项目打成war包
- 通过rz/ftp工具上传到服务器tomcat
webapps目录 - 重启tomcat服务,自动解压部署项目
- 外网访问:
http://公网ip:8080/项目名
方式2:tomcat后台可视化部署
适合频繁更新项目,无需重启服务。
- 配置管理员账号:修改
conf/tomcat-users.xml,末尾添加:
<role rolename="manager-gui"/> <user username="admin" password="123456" roles="manager-gui"/>
- 重启tomcat,访问
http://公网ip:8080/manager/html - 输入账号密码,上传war包一键部署
3.5 配置tomcat开机自启(服务器必备)
防止服务器重启后tomcat服务失效,配置开机自启:
# 创建服务文件 vim /etc/systemd/system/tomcat.service
写入以下内容:
[unit] description=tomcat9 server after=network.target [service] type=forking environment=java_home=/usr/lib/jvm/java-1.8.0-openjdk execstart=/usr/local/tomcat9/bin/startup.sh execstop=/usr/local/tomcat9/bin/shutdown.sh privatetmp=true [install] wantedby=multi-user.target
生效配置:
systemctl daemon-reload systemctl enable tomcat systemctl start tomcat
四、本地部署 vs 远程部署 核心区别对比
| 对比维度 | 本地tomcat部署 | 远程tomcat部署 |
|---|---|---|
| 使用场景 | 开发调试、代码测试、本地预览 | 项目上线、外网访问、正式运营 |
| 访问方式 | localhost/127.0.0.1,仅本机访问 | 公网ip/域名,全网可访问 |
| 端口配置 | 无需放行防火墙,仅本地端口不冲突即可 | 必须放行服务器防火墙+云平台安全组端口 |
| 项目更新 | 热部署、重启本地服务即可 | 上传war包、后台部署、重启远程服务 |
| 额外配置 | 无复杂配置 | 开机自启、权限配置、日志监控、安全配置 |
以上就是tomcat本地部署+远程服务器部署的超详细教程的详细内容,更多关于tomcat本地部署+远程服务器部署的资料请关注代码网其它相关文章!
发表评论