Tomcat+cpolar 让 Java Web 应用轻松触达公网实操案例

Tomcat+cpolar 让 Java Web 应用轻松触达公网实操案例
在这里插入图片描述

Tomcat 作为轻量级 Java 应用服务器,核心功能是对 Java Servlet 和 JSP 提供完善支持,能稳定托管各类 Java Web 应用,它的适用人群覆盖了从入门级 Java 开发者到中小企业的技术人员,无论是个人开发调试小项目,还是企业部署中小型 Web 应用,都能适配。其优点十分突出,部署流程简单易懂,新手也能快速上手,同时占用系统资源少、启动速度快,兼容性强,绝大多数 Java 项目都能在其上正常运行。

使用 Tomcat 的过程中,有不少实用的心得值得分享:日常使用时要注意定期检查 Tomcat 的运行日志,及时发现端口占用、应用部署失败等问题;另外,默认的配置文件不要随意修改,若需调整端口、线程数等参数,建议先备份原文件,避免配置错误导致服务无法启动;还有,开发环境和生产环境的配置要区分开,生产环境需关闭不必要的调试功能,提升运行稳定性。

在这里插入图片描述

Tomcat 的出色功能

仅在局域网内使用 Tomcat 会带来诸多局限性:比如开发者在家想继续调试公司局域网内的 Tomcat 项目,只能借助远程控制软件,操作繁琐且效率低;企业给异地客户演示基于 Tomcat 开发的官网时,无法直接让客户访问,只能通过录屏、远程协助等方式,不仅体验差,还容易出现沟通偏差;团队协作开发时,异地的同事无法直接访问共享的 Tomcat 服务,只能频繁传输项目文件,增加了沟通和时间成本。

而将 Tomcat 与 cpolar 内网穿透结合,能完美解决上述问题:无需申请公网 IP,也不用折腾路由器端口映射,几分钟就能打通公网访问通道,无论是出差在外还是居家办公,只要有网络就能访问本地 Tomcat 上的应用;cpolar 还能提供固定公网地址,不用频繁更换分享链接,且支持 HTTPS 加密,保障数据传输安全,既降低了网络配置的门槛,又提升了 Tomcat 使用的灵活性和安全性,让 Java Web 应用彻底摆脱局域网的束缚。

在这里插入图片描述
稳定又能随时随地享受服务的超级组合实现极其简单,按照下面的教程包会!

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

image-20250826101154874

1.在CentOs7上安装OpenJDK

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

rpm-qa|grepjava

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

查询yum中存在的JDK版本:

yum list |grep java-11 
image-20250826103345132

执行以下命令安装:

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 

验证一下,安装成功:

java--version
image-20250826104223874

配置环境变量:

vim /etc/profile 
image-20250826105622123

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

xport JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64 exportJRE_HOME=$JAVA_HOMEexportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
image-20250826110824367

使文件生效:

source /etc/profile 

验证是否生效:

whereisjava
image-20250826111158436

这样我们就安装成功啦!

2.安装Tomcat10

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

安装下图操作:

image-20250826145512750
image-20250826145707738
image-20250826145740444
image-20250826145836904
image-20250826145917792

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

useradd tomcat 

设置密码:

passwd tomcat 
image-20250826154329831

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

su - tomcat 
image-20250826154402067

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

image-20250826154451234
image-20250826154515289

上传成功。

image-20250826154532464

解压。

tar-zxvf apache-tomcat-10.1.9.tar.gz 
image-20250826154644951

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

mv apache-tomcat-10.1.9 tomcat 
image-20250826154916980

启动:

cd tomcat/ bin/startup.sh 
image-20250826160452317

启动成功!

image-20250826160928137

关闭tomcat命令

bin/shutdown.sh 

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

3.简单玩一下Tomcat

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

答案是:当然可以!

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

cd /home/tomcat/tomcat/webapps/ROOT 
image-20250826162535805

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

image-20250826162834562

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

image-20250826162914763

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

vi index.jsp 

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

image-20250826163936195

回到bin目录,重启一下:

image-20250826164053514

重启后,更改成功啦!

image-20250826164504219

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

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

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

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

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

sudocurl https://get.cpolar.sh |sh
image-20250826172453496

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

sudo systemctl status cpolar 
image-20250826172604013

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

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

image-20250826172625263

5.配置公网地址

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

  • 隧道名称:可自定义,本例使用了:tomcat,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择China Top点击创建:
image-20250826175205560

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

image-20250826175248080

访问成功。

image-20250826175317499

6.保留固定公网地址

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

image-20250827103024446

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

image-20250827103127242

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

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

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

点击更新

image-20250827103351334

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

image-20250827103433119

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

image-20250827103556724

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

总结

综上,Tomcat 凭借轻便、易部署的特性,是 Java Web 应用运行的优质载体,而 cpolar 则弥补了其局域网访问的短板,二者结合无需复杂配置,就能让本地 Tomcat 服务实现公网访问。这种组合不仅适用于开发者远程调试、团队协作,也能满足企业异地演示项目的需求,是低成本、高效率的实用解决方案,能切实提升 Java Web 应用的使用场景和便捷性。

Read more

C++寻位映射的究极密码:哈希扩展

C++寻位映射的究极密码:哈希扩展

文章目录 * 1.位图 * 1.1 位图的结构 * 1.2 位图映射的比特位标记成1 * 1.3 位图映射的比特位标记成0 * 1.4 位图映射判断为1 or 0 * 2.布隆过滤器 * 2.1 布隆过滤器的结构 * 2.2 布隆过滤器的哈希函数 * 2.3 布隆过滤器的插入 * 2.4 布隆过滤器映射判断为true or false * 2.5 布隆过滤器的优缺点 * 3.常见面试题 * 3.1 哈希切割 * 3.1.1 问题一 * 3.1.2 问题二 * 3.

By Ne0inhk
C++:继承

C++:继承

Hello大家好! 很高兴与大家见面! 给生活添点快乐,开始今天的编程之路。 我的博客:<但愿. 我的专栏:C语言、题目精讲、算法与数据结构、C++ 欢迎点赞,关注 目录   一 继承的概念及定义        1.1继承的概念        1.2继承的定义               1.2.1定义格式               1.2.2类继承基类方式改变对应成员访问⽅式的变化               1.2.3  继承类模板【类继承类似】      二 基类和派⽣类间的转换          2.1不同的转换方式                 2.1.1会产生临时变量                 2.1.2不会产生临时变量(基类和派⽣类间的转换)                         2.1.2.1不会产生临时变量(

By Ne0inhk

Open3D与C++的3D点云处理:从理论到实践

Open3D与C++的3D点云处理实战指南 在计算机视觉和机器人导航领域,3D点云处理已成为不可或缺的技术手段。Open3D作为一款开源的3D数据处理库,凭借其高效的C++接口和丰富的功能模块,为开发者提供了强大的工具支持。本文将深入探讨如何利用Open3D和C++进行点云处理,从环境搭建到实际应用,为开发者提供一条清晰的技术路径。 1. Open3D开发环境配置 1.1 系统要求与依赖安装 在Windows 10系统下使用Visual Studio 2019进行Open3D开发,首先需要确保系统满足以下基本要求: * 操作系统:Windows 10 64位 * 开发环境:Visual Studio 2019(建议使用16.9或更高版本) * CMake:3.24或更高版本 * Git:用于源码获取 安装必要的依赖项是项目成功构建的关键。以下是推荐的基本工具链配置: # 安装CMake(通过官方下载或包管理器) # 安装Git(用于源码管理) # 安装Visual Studio 2019(包含C++开发工具) 1.2

By Ne0inhk
华为OD机试双机位C卷-FLASH坏块监测系统(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷-FLASH坏块监测系统(Py/Java/C/C++/Js/Go)

FLASH坏块监测系统 华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 开发一个 FLASH 坏块监测系统,能够监测 FLASH 中坏块的数量。FLASH 介质以一个大小为 m×n的二维二进制矩阵表示,其中:0 表示正常,1 表示异常。最初,FLASH 介质中的所有单元格都是正常(即,所有单元格都是 0)。 系统运行过程中,FLASH 坏块不断产生:随着系统持续运行,某一个时刻 i,FLASH 介质中的某个单元格 (ri,ci)由正常变为异常。返回一个整数数组 result,其中 result[i] 是 FLASH 介质中第

By Ne0inhk