news 2026/4/17 20:42:45

本地跑好的 Web 项目怎么让外网也能访问?Linux Tomcat + 内网穿透 5 分钟搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
本地跑好的 Web 项目怎么让外网也能访问?Linux Tomcat + 内网穿透 5 分钟搞定

前言

Tomcat 跑在服务器上,局域网能访问,但一出局域网就连不上。想让客户或同事从外网看一下演示页面,要么得去机房里改路由器配置、申请公网 IP、折腾 SSL 证书,要么就推荐对方连 VPN,操作成本比网页本身还高。自己本地开发调试的时候也会遇到这个问题,明明在自己电脑上跑通了,想发给外面的人看看效果,结果对方网络根本摸不到你这个地址。这类场景其实很常见,关键是不要把简单的事情复杂化。

Linux 上装 Tomcat 其实很快,OpenJDK 装好、Tomcat 包解压、启起来就能跑。cpolar 在这儿的角色是把本地端口从 NAT 后面拉出来,生成一个公网可以访问的地址,整个过程不需要改防火墙、不需要路由器设置,命令敲完直接就能用。配个固定二级子域名,地址不会变,长期用也不用每次重新复制链接。对开发者来说,这套组合解决了"本地跑好了但别人看不到"的问题,不用为了发个演示而专门去折腾服务器或者云服务。

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

1.在CentOs7上安装OpenJDK

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

rpm-qa|grepjava

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

查询yum中存在的JDK版本:

yum list|grepjava-11

执行以下命令安装:

yuminstall-yjava-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

验证一下,安装成功:

java--version

配置环境变量:

vim/etc/profile

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

xportJAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64exportJRE_HOME=$JAVA_HOMEexportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使文件生效:

source/etc/profile

验证是否生效:

whereisjava

这样我们就安装成功啦!

2.安装Tomcat10

首先到Tomcat官网下载安装包,我下载的是最新版的Tomcat10,具体步骤如下:

安装下图操作:

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

useraddtomcat

设置密码:

passwdtomcat

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

su- tomcat

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

上传成功。

解压。

tar-zxvfapache-tomcat-10.1.9.tar.gz

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

mvapache-tomcat-10.1.9 tomcat

启动:

cdtomcat/ bin/startup.sh

启动成功!

关闭tomcat命令

bin/shutdown.sh

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

3.简单玩一下Tomcat

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

答案是:当然可以!

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

cd/home/tomcat/tomcat/webapps/ROOT

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

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

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

viindex.jsp

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

回到bin目录,重启一下:

重启后,更改成功啦!

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

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

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

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

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

sudocurlhttps://get.cpolar.sh|sh

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

sudosystemctl 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 机器网络本身能通 cpolar(出站允许 HTTPS 就行),Tomcat 本身的配置不需要太多改动,基本保持默认就能跑。如果你的 Web 项目需要 HTTPS 访问,cpolar 的固定域名默认就带 HTTPS,不用再单独配置证书。

整体来说,这是一个偏临时性/演示场景的方案,如果要长期跑对外服务,还是建议用正规的云服务器;但对于开发调试、临时演示、给客户快速看效果这类需求,这套组合比折腾服务器省事得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 20:42:00

社群水果拼单预收货款发货自动核销账务整理。

整体定位是:社群水果拼单 预收货款 发货 自动核销 账务整理。一、实际应用场景描述场景设定:你是一个技术博主,同时在运营一个「城市水果拼单群」。流程如下:1. 预售阶段- 每天上午发布水果拼单信息(品名 / 单价 /…

作者头像 李华
网站建设 2026/4/17 20:40:31

别再手动造数据了!用Modbus Slave模拟从站,5分钟搞定PLC通讯调试

工业自动化调试利器:Modbus Slave虚拟从站实战指南 在工业自动化系统的开发与调试过程中,工程师们常常面临一个棘手问题:如何在没有实际硬件设备的情况下测试上位机软件或主站设备的通讯功能?传统的手动造数据方式不仅效率低下&am…

作者头像 李华
网站建设 2026/4/17 20:38:00

CISSP 域6知识点 安全评估与测试策略

CISSP Domain 6丨安全评估与测试策略——有测试才有安全,没闭环等于白做 🛡️ 很多人觉得安全测试就是"扫个漏洞、出个报告",事情就结束了。 官方给你泼一盆冷水:哪怕安全策略设计再完美,不经过持续评估与测…

作者头像 李华
网站建设 2026/4/17 20:33:46

SELinux 模式切换:从理论到实战的三种路径

1. 认识SELinux的三种工作模式 SELinux(Security-Enhanced Linux)是Linux系统中的一个重要安全模块,它通过强制访问控制机制来增强系统的安全性。在实际使用中,SELinux有三种不同的工作模式,每种模式都有其特定的用途和…

作者头像 李华
网站建设 2026/4/17 20:32:48

告别编译地狱!用Python的TenSEAL库5分钟上手同态加密实战(CKKS方案)

5分钟实战Python同态加密:用TenSEAL实现隐私保护数据分析 在数据隐私日益重要的今天,同态加密技术正从学术论文走向实际应用。想象一下,你可以在不解密数据的情况下直接对加密数据进行计算——这正是CKKS同态加密方案的魔力所在。但对于大多数…

作者头像 李华