如何配置Tomcat服务环境并实现无公网ip访问本地站点

文章目录

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

前言

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 - 安全的内网穿透工具)的安装和使用就明显简单的多,只要登录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.mzph.cn/news/647025.shtml

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

相关文章

conda环境下使用youtube_dl模块下载youtube视频异常解决方法

1 问题描述 使用python的youtube_dl模块下载youtube视频时失败&#xff0c;错误信息如下&#xff1a; ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/up…

LeeCode 438.找到字符串中所有字母异位词.

给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示例 1: 输入: s “cbaebabacd”, p “abc” 输出:…

jquery练习

jquery练习 1.多图片展示 <!doctype html> <html> <head> <meta charset"utf-8"> <title>多图片展示效果</title> <link href"zns_style.css" rel"stylesheet" type"text/css" /> <sc…

从 Apk 提取代码到单独 dex

从 Apk 提取代码到单独 dex Android 中动态加载是指应用程序在运行时加载和执行 Dex 文件的过程&#xff0c;可以在运行时加载不同的代码或功能&#xff0c;而无需重新编译整个应用程序&#xff0c;动态加载 Dex 文件通常涉及以下步骤&#xff1a; 创建 Dex 文件 我们接触到的…

Redis的五种常用数据类型详解及相关面试问题

目录 Redis的五种常用数据类型详解 简述 Redis五种基本数据类型 String字符串 常用命令 应用场景 Hash散列表 常用命令 使用场景 List链表 常用命令 应用场景 Set( 集合) 常用命令 应用场景 SortedSet( 有序集合) zset 常用命令介绍 应用场景 面试题常问的数…

【Pytorch 第一讲】 如何加载预训练模型

一. 封装Pytorch的Model 加载pre-trianed Model import torch import torchvision.models as models from torchvision import transforms# 1. 下载并加载预训练模型 model models.resnet18(pretrainedFalse) # 设置pretrainedFalse&#xff0c;表示不加载预训练权重# 2. 下载…

退货通知单下推销售退货单,无法下推问题排查

文章目录 退货通知单下推销售退货单&#xff0c;无法下推问题排查报错界面排查原因 退货通知单下推销售退货单&#xff0c;无法下推问题排查 报错界面 排查 检验单已做。 原因 合格未勾选判退。

按键协管指南针加速计陀螺仪GPS等原理图纸2

1.imu电路。 加速计包含重力感应。 到传感器芯片u8, U16, U18的信息都是用的spi接口&#xff0c;如下图所示。OSCAR_TO_IMU_SPI_SCLK_FL, IMU_TO_OSCAR_SPI_MISO_FL, OSCAR_TO_IMU_SPI_MOSI_FL接了u8, u16, u18,通过片选信号cs选择哪个芯片接收。 加速计&#xff0c;陀螺仪&…

Redash 默认key漏洞(CVE-2021-41192)复现

Redash是以色列Redash公司的一套数据整合分析解决方案。该产品支持数据整合、数据可视化、查询编辑和数据共享等。 Redash 10.0.0及之前版本存在安全漏洞&#xff0c;攻击者可利用该漏洞来使用已知的默认值伪造会话。 1.漏洞级别 中危 2.漏洞搜索 fofa "redash"…

289. 生命游戏

根据 百度百科 &#xff0c; 生命游戏 &#xff0c;简称为 生命 &#xff0c;是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板&#xff0c;每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态&#xff1a; 1 即为 活细胞 &am…

【ASP.NET Core 基础知识】--数据库连接--使用Entity Framework Core进行数据库访问

一、介绍 Entity Framework Core&#xff08;简称EF Core&#xff09;是微软推出的一个轻量级版的Entity Framework&#xff0c;它是一个开源的、跨平台&#xff08;Windows、Linux和macOS&#xff09;的对象关系映射&#xff08;ORM&#xff09;框架。EF Core 旨在提供快速的…

主播考核体系相关基础

1.主播薪资类型 2.主播考核体系 1.分为日常考核、月度考核 日常考核分为三部曲&#xff1a;播前、播中、播后 &#xff08;1&#xff09;播前 &#xff08;2&#xff09;播中 &#xff08;3&#xff09;播后 月度考核 月度考核表列举 主播等级划分要素 主播晋升考核方…

JVM篇----第六篇

系列文章目录 文章目录 系列文章目录前言一、堆(Heap-线程共享) -运行时数据区二、方法区/永久代(线程共享)三、JVM 运行时内存四、新生代前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看…

Java面试题(5)

22.Iterator如何使用&#xff0c;有什么特点 java中的Iterator功能比较见到你&#xff0c;并且只能单向移动 1. iterator()&#xff1a;要求容器返回一个Iterator 2. next():用于获取序列的下一个元素&#xff08;第一次调用获取第一个元素&#xff09; 3. hasNext()&#xff…

Qt6入门教程 11:父子对象关系

在上一篇中的纯手写部分&#xff0c;不管是创建菜单、工具栏还是状态栏&#xff0c;我们new完之后都未显式的调用delete进行销毁&#xff0c;这样难道不会有内存泄漏么&#xff1f; QMenuBar *menuBar new QMenuBar(this); QToolBar *toolBar new QToolBar(this); QStatusBa…

web前端之不一样的居中方式、解决tabBar选项卡居中问题、css支持嵌套、auto

MENU 前言htmlstyle效果 前言 这里不能使用justify-content: center;&#xff0c;因为在小屏幕上&#xff0c;这种方式无法显示最前面的两个tabBar。 html <div id"box" class"d_f o_a mt_50 mb_50 ml_20 mr_20"><div class"ws_n">…

【MySQL】如何通过DDL去创建和修改员工信息表

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-fmKISDBsFq74ab2Z {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

【vue】Vue2和Vue3中的代码逻辑复用对比(mixins、自定义hook):

文章目录 一、前言&#xff1a;二、mixins&#xff1a;【1】mixins是什么&#xff1f;【2】mixins如何使用&#xff1f;【3】mixins的一些特性&#xff1a;【4】mixins的缺点&#xff1a; 三、hook&#xff1a;【1】Vue3.x中的自定义hook函数是什么&#xff1f;【2】mixins和Co…

4.【SpringBoot3】文章管理接口开发

序言 在文章管理模块&#xff0c;有以下接口需要开发&#xff1a; 新增文章文章列表&#xff08;条件分页&#xff09;获取文章详情更新文章删除文章 数据库表字段和实体类属性&#xff1a; 1. 新增文章 需求分析 当用户点击左侧菜单中的“文章管理”后&#xff0c;页面主…

[EFI]HP EliteDesk 800 G6 Mini PC电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 HP EliteDesk 800 G6 Mini PC 处理器 Intel Core i5 10500 已驱动内存16GB 2667MHz DDR4已驱动硬盘SSD NVMe KINGSTON SNVS500G 500GB已驱动显卡Intel UHD Graphics 630已驱动声卡Realtek ALC222已驱动网卡Intel(R) Ethernet Connection (10) I219-LM已驱…