Windows安装配置Tomcat服务器教程 -- 外网远程访问

news2024/11/18 22:49:11

文章目录

  • 前言
  • 1.本地Tomcat网页搭建
    • 1.1 Tomcat安装
    • 1.2 配置环境变量
    • 1.3 环境配置
    • 1.4 Tomcat运行测试
    • 1.5 Cpolar安装和注册
  • 2.本地网页发布
    • 2.1.Cpolar云端设置
    • 2.2 Cpolar本地设置
  • 3.公网访问测试
  • 4.结语

转载自cpolar文章:外网访问本地Tomcat服务器【cpolar内网穿透】

前言

Tomcat作为一个轻量级的服务器,不仅名字很有趣(让人想起童年),也拥有强大功能,由于其可以实现JavaWeb程序的装载,就成为配置JSP和Java系统必备的环境软件,也是开发调试JSP程序的首选。Tomcat运行稳定且开源免费,加上apache和Sun的加持即免费和开源的特性,使其广泛应用在中小型系统及并发访问用户较少的场景中。但想要让Tomcat网页能在公共互联网环境下被访问到,就需要cpolar内网穿透的协助。现在。笔者就为大家介绍,如何使用cpolar内网穿透,将Tomcat网页发布到公共互联网上。

1.本地Tomcat网页搭建

Tomcat的优势很多,为节约大家的时间,笔者就不在此冗述,直接进入Tomcat的安装设置。Tomcat作为开源免费软件,可以在其官网上找到下载(https://tomcat.apache.org)。笔者使用的操作系统为Windows,JDK版本为17。

在Tomcat官网,我们找到最新版本的下载页面,点击对应操作系统版本下载即可。

20230323091801

1.1 Tomcat安装

当所需版本的Tomcat程序文件下载完成后,就可以进行安装,首先将下载的压缩文件解压。但暂时不对其进行操作。

20230323091802

1.2 配置环境变量

下载完成后,先不着急对Tomcat进行操作,而是要对环境变量进行配置,具体为右键我的电脑点击属性,在打开的系统页面,选择高级系统设置,点击环境变量按钮进入环境变量设置。

20230323091803

20230323091804

20230323091805

2023032309180601

环境变量页面,新建一个CATALINA_HOME系统变量,做以下设置:

  • 变量名:CATALINA_HOME
  • 变量值:E:\测试软件\apache-tomcat-10.1.7【其中变量值是tomcat的解压位置,可以点击“变量值”栏位下方的“浏览目录”按钮选择路径。】

变量名和变量值设置完成后,点击确认保存。

2023032309180701

接下来选择已经存在的Path条目,点击编辑按钮,在弹出的编辑环境变量页面点击右侧的新建,将以下命令加入指令列表中,再点击确认按钮保存所做的更改。
添加的变量值为:

  • %CATALINA_HOME%\lib
  • %CATALINA_HOME%\lib\servlet-api.jar
  • %CATALINA_HOME%\lib\jsp-api.jar

2023032309180801

20230323091809

到这里,对环境变量的设置就完成了。下一步就是对tomcat进行设置

1.3 环境配置

完成环境变量设置后,我们需要对tomcat的conf文件夹下的user.xml文件进行修改,添加一个可运行的用户。

依据tomcat的解压位置,在其中找到conf文件夹,打开该文件夹,找到tomcat-user.xml文件。

20230323091810

20230323091811

找到这个文件后双击打开,并在文件最后一行添加如下代码:

<role rolename="manager-gui"/> 
<role rolename="admin-gui"/>  
<user username="admin" password="admin" roles="admin-gui"/>
<user username="tomcat" password="admin" roles="manager-gui"/>

20230323091812

代码加入后,保存并退出即可。

1.4 Tomcat运行测试

完成环境变量设置并添加了tomcat用户后,就可以打开tomcat目录下的bin文件夹,双击startup启动tomcat。

20230323091813

启动tomcat后,我们能看到tomcat通过8080端口输出,因此只要在本地电脑浏览器地址栏中,输入localhost:8080,就能打开tomcat的主页。

20230323091814

此时的tomcat还是原始状态,至于如何制作一个看起来不错的网页,就不是这篇文章的主要目的了。接下来我们要想办法为tomcat网页创建一条能够穿透内网的数据隧道,使其能被公共互联网的用户访问到。

1.5 Cpolar安装和注册

相较于tomcat的复杂设置,cpolar内网穿透的安装和使用就明显简单的多,只要登录cpolar的官网([https://www.cpolar.com/]),在主页上方找到下载按钮,并在cpolar的下载页面找到对应版本的软件下载(笔者使用的是Windows操作系统,因此选择Windows版本下载)。

20230323091815

20230323091816

Cpolar安装程序下载完成,将其解压到本地电脑,双击解压后的.msi文件,接着一路下一步就能完成安装。当然,安装期间还可以选择cpolar的安装文件夹,这也是常规操作了。

20230323091817

20230323091818

由于cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此我们在使用cpolar之前,需要进行用户注册。注册过程也非常简单,只要在cpolar主页右上角点击用户注册,在注册页面填入必要信息,就能完成注册。

20230323091819

20230323091820

2.本地网页发布

到这里,我们已经用tomcat创建了一个网页,并能在本地地址上访问到,提供内网穿透数据隧道的cpolar也已经安装注册。接下来,我们就可以使用cpolar创建数据隧道,将本地的tomcat发布到公共互联网上。

由于cpolar免费版的数据隧道每24小时重置一次。笔者并不想每天进行重连tomcat网页设置,因此将cpolar升级至vip版,以便能获得能长期稳定存在的内网穿透数据隧道。

2.1.Cpolar云端设置

要达到内网穿透的目的,需要先登录cpolar的官网,并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里生成一个公共互联网地址(也可以看做数据隧道的入口),此时这个公共互联网地址没有连接本地网页输出端口,因此也可以看做是一条空白的数据隧道。

20230323091821

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择保留二级子域名栏位。当然,如果自己有域名的,也可以选择保留自定义域名栏位,但需要在域名供应商处对自有的域名进行解析,才能与cpolar配合使用。

20230323091822

保留二级子域名栏位,需要进行几项信息的简单设置:

  • 地区:服务器所在区域,就近选择即可
  • 二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一
  • 描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可

完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。

20230323091823

20230323091824

当然,如果这条数据隧道不打算再使用,还可以点击右侧的x将其轻松删除,节约宝贵的隧道名额。

2.2 Cpolar本地设置

完成cpolar云端的设置,保留好空白数据隧道后,就能返回本地电脑的cpolar客户端,将云端生成的空白数据隧道与本地的支付宝测试页面连接起来,让我们能在公共互联网上访问到tomcat的网页页面。

在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式),点击客户端主界面左侧隧道管理项下的创建隧道按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

  1. 隧道名称 – 可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可;
  2. 协议 – tomcat输出的是web网页,因此选择http协议;
  3. 本地地址 – 本地地址即为本地网站的输出端口号,而tomcat默认输出端口为8080,因此这里也填入8080;
  4. 域名类型 – 在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,这里我们填入“tomcattest”(如果只是创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址);
  5. 地区 – 与cpolar云端设置时一样,我们依照实际所在地就近填写;

20230323091825

完成cpolar客户端与cpolar云端的数据隧道连接后,cpolar客户端会自动跳转至隧道管理项下的隧道列表页面,我们可以在这个页面看到数据隧道的状态(是否畅通),或是控制隧道的开启、关闭或删除。如果需要对隧道的信息进行变更,也可以通过这里的“编辑”按钮进行

20230323091826

而这条数据隧道的公共互联网地址,则可以在状态——在线隧道列表页面看到。

20230323091827

3.公网访问测试

我们将cpolar内网穿透生成的公共互联网地址,粘贴到其他电脑的浏览器地址栏中,就能看到能够显示本地电脑上的tomcat网页。也就意味着我们已经成功的使用cpolar内网穿透,将本地tomcat网页发布到公共互联网上。

20230323091828

4.结语

虽然看起来这篇文章很长,但实际操作起来,也就会在tomcat设置环境变量时耽搁一会儿,而cpolar的数据隧道设置部分很快就可以操作完成。其实不止tomcat,换做其他web服务器,只要知道软件(网页)的输出端口,都可以使用cpolar创建穿透内网的数据隧道,将这个软件(网页)发布到公共互联网。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/545110.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SpringBoot】五:Web服务---SpringMVC---控制器

文章目录 1 控制器介绍2 控制器工作流程3 控制器中的方法4 匹配请求路径到控制器方法5 RequestMapping6 控制器方法参数类型与可用返回值类型7 接收请求参数8 验证参数8.1 Bean Validation8.2 分组校验8.3 ValidationAutoConfiguration 1 控制器介绍 &#xff08;1&#xff09…

【Linux Network】数据链路层

目录 认识以太网 以太网帧格式 认识MAC地址 对比理解MAC地址和IP地址 认识MTU MTU对IP协议的影响 MTU对UDP协议的影响 MTU对于TCP协议的影响 MSS和MTU的关系&#xff1a; 查看硬件地址和MTU ARP协议 ARP协议的作用 ARP协议的工作流程 ARP数据报的格式 DNS(Domain Name System) …

近期要做填报报表,使用Spreadsheet还是Finereport?

又是忙碌的五月呀~~近期接到一个项目&#xff0c;是一家商贸公司需要去采集销售部门的销售业绩据&#xff0c; 以往他们使用Excel表格线下去做报表填报&#xff0c;传统的报表体系效率低&#xff0c;文件杂&#xff0c;汇总难。下级部门上传数据需要以多个表格来上报&#xff0…

Python3安装

依赖安装 gcc是一个用于linux系统下编程的编译器&#xff0c;由于python3需要编译安装&#xff0c;因此&#xff0c;需要首先安装gcc。先查看一下系统中&#xff0c;是否安装了gcc。 gcc --versions 发现没有安装&#xff0c;则需要安装。参数-y的作用是在安装过程中自动确认…

在 Python 中制作偶数列表

文章目录 开始什么是偶数在 Python 中使用 for 循环创建偶数列表在 Python 中使用 while 循环制作偶数列表使用列表理解在 Python 中制作偶数列表使用 Lambda 表达式在 Python 中创建偶数列表 开始 我们将通过示例介绍偶数列表以及在 Python 中创建偶数列表的不同方法。 什么是…

今天公司来了个拿 30K 出来的测试,算是见识到了基础的天花板

今天上班开早会就是新人见面仪式&#xff0c;听说来了个很厉害的大佬&#xff0c;年纪还不大&#xff0c;是上家公司离职过来的&#xff0c;薪资已经达到中高等水平&#xff0c;很多人都好奇不已&#xff0c;能拿到这个薪资应该人不简单&#xff0c;果然&#xff0c;自我介绍的…

韩国访问学者签证D-2-5材料准备及签证流程

韩国的签证种类很多&#xff0c;对于申请访问学者签证来说&#xff0c;较常见的签证种类是D-2-5签证和E-3签证&#xff0c;本篇知识人网小编先介绍D-2-5签证。 签证的材料准备 根据韩国大使馆2023年4月12日最新发布的“签证申请与准备材料指导”内容, D-2-5签证的签发对象及准…

一文带你了解电信终端指南(详细篇)

​ 电信入库认证周期&#xff1a; 常规为 4-6 周&#xff0c;我公司可加急完成认证&#xff0c;请拨打免费服务热线 400 626 0709 或联系 蒋先生 13823213584&#xff08;微信同号&#xff09;了解详情。 中国电信集团公司是我国特大型国有通信企业、上海世博会全球合作伙伴&a…

Yolov5轻量化:EMO,结合 CNN 和 Transformer 的现代倒残差移动模块设计,性能优于EdgeViT、Mobile-former等网络

论文: https://arxiv.org/pdf/2301.01146.pdf 🏆🏆🏆🏆🏆🏆Yolo轻量化模型🏆🏆🏆🏆🏆🏆 重新思考了 MobileNetv2 中高效的倒残差模块 Inverted Residual Block 和 ViT 中的有效 Transformer 的本质统一,归纳抽象了 MetaMobile Block 的一般概念。受这…

深度学习4 -- 卷积神经网络(代码实现篇+付详细流程文件)

引言 本文是使用pytorch对卷积神经网络(Convolutional Neural Network, CNN)的代码实现&#xff0c;作为之前介绍CNN原理的一个代码补充。本文代码相关介绍相对较为详细&#xff0c;也为自己的一个学习过程&#xff0c;有错误的地方欢迎指正。本人介绍CNN原理的链接:CNN原理介…

【Ai工具合集,一定有你需要的!】

花费了一天的时间测试了市面上各大Ai工具&#xff0c;然后帮大家整理总结出来了这些工具&#xff0c;一定记得点赞收藏保存&#xff0c;后面肯定会用到&#xff01; 使用说明 1.部分Ai工具需要魔法上网&#xff0c;请自行解决&#xff1b;部分工具需要收费&#xff0c;可以尝…

图神经网络:(处理点云)PointNet++的实现

文章说明&#xff1a; 1)参考资料&#xff1a;PYG官方文档。超链。 2)博主水平不高&#xff0c;如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook和有关文献。超链。提取码8848。 文章目录 简单前置工作学习文献阅读PointNet的实现模型问题 简单前置工作…

convLSTM2D 层使用方法解析(Keras库)

最近在研究时序图像分类问题&#xff0c;需要用到convLSTM层提取特征&#xff0c;所以在此仔细分析一下keras.layers.ConvLSTM2D层的使用方法。深度学习框架是tensorflow 官方文档&#xff1a;recurrent/#convlstm2d - Keras 中文文档 下面这部分内容摘自官方文档 ConvLSTM2D…

Axure 轮播图如何制作

近来在学习axure&#xff0c;用的版本为Axure 9&#xff0c;给大家讲一下怎么使用轮播图&#xff0c;老规矩保姆式教学法 一、作图 1.创建新的页面&#xff0c;方便我们做图 2.在元件库搜索“动态面板”字样&#xff0c;设置一个动态面板&#xff0c;为什么要设置呢&#xff…

IIC总线通讯协议学习

​ IIC(最简单的总线通讯,简单意味着通用和普适性) iic通讯一般采用一主多从的方式.同一时间要么在发送信息,要么在读取信息(半双工通讯) ​​​​​​​​​​​​​​ ​​​​ ​​​ 标准的写数据帧&#xff08;主机向从机写数据) 解释以上的写数据帧 S:起始信号(在SCL…

Linux学习---VMWare安装和CentOS7安装

1、 VMWare安装 1、VMware16安装包 链接&#xff1a;https://pan.baidu.com/s/1TKf5szN6k5Hk4HH4zqBgrg 提取码&#xff1a;zhm6 –来自百度网盘超级会员V1的分享 2、VMWare安装流程 &#xff08;1&#xff09;找到下载好的安装包&#xff0c;双击运行程序 &#xff08;2&…

云贝餐饮连锁V2-2.7.7 【新增】外卖新订单提醒

独立版&#xff1a;云贝餐饮连锁V2、版本更新至2.7.7&#xff0c;小程序、公众号版本&#xff0c;全插件&#xff0c;包含微信公众号小程序&#xff1b;包更新&#xff0c;独立版&#xff1b; 带商家端&#xff0c;修复收银台、排队点餐、堂食点餐&#xff1b;最新版更新了&…

【pytorch损失函数(3)】nn.L1Loss()和nn.SmoothL1Loss()

文章目录 【回归损失函数】L1&#xff08;MAE&#xff09;、L2&#xff08;MSE&#xff09;、Smooth L1 Loss详解1. L1 Loss&#xff08;Mean Absolute Error&#xff0c;MAE&#xff09;1.1 数学定义1.2 、使用场景与问题1.3 、如何使用 2. L2 Loss&#xff08;Mean Squared E…

最流行的开源 LLM (大语言模型)整理

本文对国内外公司、科研机构等组织开源的 LLM 进行了全面的整理。 Large Language Model (LLM) 即大规模语言模型&#xff0c;是一种基于深度学习的自然语言处理模型&#xff0c;它能够学习到自然语言的语法和语义&#xff0c;从而可以生成人类可读的文本。 所谓"语言模…

MTK平台的SWT异常的简单总结(1)——WatchDog

SWT系列资料很多来源于Google &#xff08;1&#xff09;概念相关 SWT是SoftWare Watchdog Timeout的缩写&#xff0c;在Android系统中&#xff0c;为了监控SystemServer是否处于正常运行状态&#xff0c;加入了SWT线程来监控SystemServer中重要线程和Service的运行情况。判断…