Tomcat+cpolar 让 Java Web 应用跨越局域网随时随地可访问

Tomcat 作为轻量级 Java 应用服务器,核心功能是对 Java Servlet 和 JSP 提供完善支持,能稳定托管各类 Java Web 应用,它适配 Windows、Linux、macOS 等多系统,是中小开发者、企业运维人员部署 Web 应用的核心工具,优点突出 ------ 部署流程简单,新手也能快速上手,资源占用少,启动速度快,兼容性强,各类常规 Java 项目都能稳定运行。

使用 Tomcat 过程中也有不少实用心得,比如日常调试时要注意定期清理日志文件避免占用过多磁盘空间,部署多应用时建议做好端口隔离,防止不同应用之间出现端口冲突,另外要及时更新版本,修复已知的安全漏洞,保障应用运行的安全性。

但 Tomcat 仅在局域网内使用时,会带来诸多不便:比如开发人员下班回家后,想继续调试公司电脑上的 Java Web 项目,却因局域网限制无法远程访问;企业给异地客户演示基于 Tomcat 的官网时,只能让客户远程控制本机,不仅操作繁琐,还显得不够专业;团队协作开发时,异地成员无法实时访问测试环境的应用,只能靠反复传输文件沟通,效率大打折扣。

而将 Tomcat 与 cpolar 结合后,这些问题都能迎刃而解。cpolar 无需申请公网 IP,也不用复杂的路由器端口映射,只需简单配置就能打通公网访问通道,让本地 Tomcat 上的应用摆脱局域网束缚,无论身处何地,只要有网络就能通过公网地址访问,还能提供固定公网地址,避免地址频繁变动,数据传输也支持 HTTPS 加密,兼顾便捷性与安全性。

稳定又能随时随地享受服务的超级组合实现极其简单,按照下面的教程包会!

本文将带你从零开始,一步步在Linux系统中安装Tomcat,部署Web应用,并通过cpolar实现公网访问。全程命令清晰、步骤简明,5分钟内即可让你的Java项目"上线",无论是给客户演示、团队协作,还是学习练手,都极为高效便捷。

1.在CentOs7上安装OpenJDK

在已安装套件中查找含有java字符串的文件:

shell 复制代码
rpm -qa | grep java

若没有安装则开始安装吧!

查询yum中存在的JDK版本:

shell 复制代码
yum list | grep java-11

执行以下命令安装:

shell 复制代码
yum install -y java-11-openjdk-headless-11.0.13.0.8-1.el7_9.x86_64 java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64 java-11-openjdk-devel-11.0.13.0.8-1.el7_9.x86_64

验证一下,安装成功:

shell 复制代码
java --version

配置环境变量:

shell 复制代码
vim /etc/profile

在最后一行,添加下列内容:

shell 复制代码
xport JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使文件生效:

shell 复制代码
source /etc/profile

验证是否生效:

shell 复制代码
whereis java

这样我们就安装成功啦!

2.安装Tomcat10

首先到官网http://tomcat.apache.org/下载安装包,我下载的是最新版的Tomcat10,具体步骤如下:

安装下图操作:

打开虚拟机,切换到root用户下,创建Tomcat用户,命令如下:

shell 复制代码
useradd tomcat

设置密码:

shell 复制代码
passwd tomcat

切换到Tomcat用户,能切换过去,代表成功创建该用户了。

shell 复制代码
su - tomcat

把 apache-tomcat-10.1.9.tar.gz上传到/home/tomcat/目录下。

上传成功。

解压。

shell 复制代码
tar -zxvf apache-tomcat-10.1.9.tar.gz

给解压后的Tomcat,重命名一下:

shell 复制代码
mv apache-tomcat-10.1.9 tomcat

启动:

shell 复制代码
cd tomcat/
bin/startup.sh 

启动成功!

关闭tomcat命令

shell 复制代码
bin/shutdown.sh

这样我们就在CentOS7上安装完Tomcat啦!

3.简单玩一下Tomcat

在这里,我们可以看到,都是千篇一律的页面,那么我们可不可以把tomcat页面变成自己的页面呢?

答案是:当然可以!

我们只需要找到它的前端代码,简单修改就可以啦!

shell 复制代码
cd /home/tomcat/tomcat/webapps/ROOT

想要改文字、格式就修改index.jsp。

想要改样式就选择tomcat.css。

我这里示例一下改主页文字。

shell 复制代码
vi index.jsp

在Home前加上"小单的"几个字:

回到bin目录,重启一下:

重启后,更改成功啦!

那么我有一个问题,倘若你同事下班想使用一下你的Tomcat,该怎么办呢?

别急,cpolar来帮助你,解决这一烦恼。

4.安装cpolar实现随时随地开发

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

shell 复制代码
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://192.168.42.101:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

5.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:

  • 隧道名称:可自定义,本例使用了:tomcat,注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:8080

  • 域名类型:随机域名

  • 地区:选择China Top

    点击创建:

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

6.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是tomcat,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道tomcat,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的tomcat页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

恭喜!你成功了! 现在,无论你身在何处,用手机、平板还是另一台电脑,都能看到并操作你本地运行的tomcat了!

总结

通过本文的步骤,我们成功在Linux系统中安装并启动了Tomcat,部署了Web应用,并利用 cpolar 实现了内网穿透,仅用几分钟就让本地服务具备了"全球可访问"的能力。整个过程无需公网IP、无需复杂网络配置,真正实现了"轻量部署、快速上线"。

Tomcat 本身是适配性强的 Java Web 应用载体,搭配 cpolar 内网穿透工具,能轻松突破局域网限制。无论是远程调试项目、异地演示应用,还是团队协作开发,都能提升效率,无需复杂配置,就能让本地 Tomcat 服务实现公网访问,满足日常开发和工作的实际需求。

现在,就动手试试吧!让你的Web应用不再局限于本地,一键穿透,触达世界每一个角落。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

相关推荐
予枫的编程笔记1 小时前
【Java进阶】深度解析Canal:从原理到实战,MySQL增量数据同步的利器
java·开发语言·mysql
光影少年1 小时前
前端如何实现一个高精准定时器和延时器
前端·javascript·react.js·web·ai编程
Filotimo_1 小时前
在java后端开发中,LEFT JOIN的用法
java·开发语言·windows
假装我不帅1 小时前
传统html方式开发spreadjs
前端·html·spreadjs
2301_797312261 小时前
学习Java43天
java·开发语言
夏河始溢2 小时前
一七九、WebRTC介绍
前端·人工智能·ui
六月June June2 小时前
vue3 antd3.x ant-table组件 鼠标移入行出现tooltip
前端·vue.js·table·ant-design-vue
guygg882 小时前
C#实现的TCP/UDP网络调试助手
网络·tcp/ip·c#
程序员老徐2 小时前
Spring Security 是如何注入 Tomcat Filter 链的 —— 启动与请求源码分析
java·spring·tomcat