如何通过本地搭建wamp服务器并实现无公网IP远程访问
文章目录
- 前言
 - 1.Wamp服务器搭建
 - 1.1 Wamp下载和安装
 - 1.2 Wamp网页测试
 
- 2. Cpolar内网穿透的安装和注册
 - 2.1 本地网页发布
 - 2.2 Cpolar云端设置
 - 2.3 Cpolar本地设置
 
- 3. 公网访问测试
 - 4. 结语
 
 
 
前言
软件技术的发展日新月异,各种能方便我们生活、工作和娱乐的新软件层出不穷,但也有一些经过时间和用户考验的老牌软件屹立不倒。就一我们熟悉的网站集成环境来说,全球就有很多种server软件。每个软件都有各自的特色(虽然同质化很严重),也拥有自己固定的适用群体。今天,我们就尝试安装一款经典集成环境软件Wamp,并使用cpolar内网穿透建立数据隧道,让我们能在公共互联网上访问到本地电脑上的Wamp。
1.Wamp服务器搭建
Wamp就是Windows Apache Mysql PHP集成安装环境,简单说就是在Windows操作系统下,集成运行Apache、php和MySQL的服务器软件。这样的集成软件方便我们对Apache模块、php扩展等的管理,而不必再单独安装这些必备的软件,也不必单独修改它们的配置文件,统一由wamp进行。
1.1 Wamp下载和安装
Wamp作为比较知名的软件,我们既可以在其官网(wampserver-64bit.en.softonic.com/)上找到下载,也可以在360软件管家或搜索引擎中搜索下载。

在软件下载完成后,双击下载好的安装文件即可进入自动安装程序。期间也没有什么需要修改的内容,因此直接一路Next,等待其安装完成即可。

需要注意的是,在Wamp自动安装周边软件(Apache、MySQL)之类时,会需要Windows系统内已安装VC++运行库合集,如果没有安装VC++,会导致Apache安装失败。



当Wamp安装完成后,会在Windows系统托盘处出现一个小图标,我们可以右键点击这个小图标,更改Wamp的语言。

接着我们左键点击这个图标,选择启动所有服务选项,就能启动wamp的服务进程(wamp会自动启动apache、MySQL等网页程序)。

只要wamp启动成功,其图标就会变为绿色。

1.2 Wamp网页测试
在所有网页运行相关服务都启动后,我们可以左键点击这个图标,并点选localhost选项,进入wamp的本地主页

只要显示出如下页面,就说明wamp在本地电脑上安装成功。

Wamp安装成功后,我们就可以在wamp安装文件夹下,找到名为www的文件夹,并在这个文件夹里放入打算运行的网页,就能安装显示我们想要安装的网页。

此时的wamp网页还只能在本地局域网内显示,如果想要让网页能在公共互联网上被访问到,突破本地电脑的信息孤岛情况,还需要安装cpolar内网穿透,并使用其生成一条内网穿透数据隧道,让我们能在公共互联网环境下,轻松访问到本地电脑上的网页。
2. Cpolar内网穿透的安装和注册
想要使用cpolar建立内网穿透数据隧道,需要先安装cpolar软件,我们可以在其官网(https://www.cpolar.com/)上找到对应操作系统的下载。


当cpolar下载完成后,将下载好的压缩包解压,并点击其中的.msi文件,即可进入自动安装程序,由于并没有什么需要我们自己设置的部分(cpolar的安装位置可以自行选择),因此可以一路Next完成安装。


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


2.1 本地网页发布
在完成了cpolar的安装和注册后,我们就可以着手使用cpolar建立内网穿透数据隧道。让本地电脑wamp服务器上的网页,能够在公共互联网上被访问到。由于网页讲求稳定访问,而cpolar免费版的数据隧道每24小时重置一次。笔者并不想每天进行重连设置,因此升级cpolar至vip版,以便能获得能长期稳定存在的内网穿透数据隧道。
2.2 Cpolar云端设置
要达到内网穿透的目的,需要先登录cpolar的官网,并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里生成一个公共互联网地址(也可以看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是一条空白的数据隧道。


在保留二级子域名栏位,需要进行几项信息的简单设置,即
地区:服务器所在区域,就近选择即可二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可)。
完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

2.3 Cpolar本地设置
完成cpolar云端的设置保留好空白数据隧道后,我们打开本地cpolar客户端,将云端生成的空白数据隧道与本地的wamp页面连接起来。

在本地打开并登录cpolar客户端后(可在浏览器中输入localhost:9200访问Web-UI,也可以在Windows开始菜单中点击cpolar客户端的快捷方式),点击客户端主界面左侧“隧道管理”项下的“创建隧道”按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。
在这个页面,同样需要进行几项信息设置,设置的内容包括:
1.
隧道名称– 即cpolar本地的隧道信息注释,只要方便我们分辨即可;
2.协议– wamp页面是网页形式,因此选择http协议;
3.本地地址– 本地地址即为本地网站的输出端口号,wamp中的apache默认输出端口为80,因此这里也填入80(如有需要,也可以在wamp中进行修改);
4.域名类型– 由于我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,我们预留的二级子域名为“wampweb”,因此这里填入同样的我二级子域名。
5. 如果创建的是临时数据隧道,则直接勾选“随机域名”,让cpolar客户端自行生成网络地址;
6.地区– 与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

完成这些设置后,就可以点击页面下方的“创建”按钮,将cpolar云端的空白数据隧道与本地的支付测试页面连接起来。当数据隧道成功建立后,cpolar会自动跳转至隧道管理——隧道列表页面中。在这里,我们能对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

3. 公网访问测试
最后,我们点击左侧状态——在线隧道列表按钮,就能找到wamp页面在公共互联网上的地址。

我们将这个地址粘贴到其他设备浏览器中,就能看到本地wamp的页面。也就意味着本地wamp网页已经打破信息孤岛的限制,成功在公共互联网上发布。

4. 结语
其实,wamp只是装载网页的容器,我们可以在wamp里安装上自己想要的网页内容,让这个网页成为我们对外发声的窗口。而有了cpolar内网穿透创建的内网穿透数据隧道,则可以让互联网上的访客都能看到本地wamp装载的网页。
相关文章:
如何通过本地搭建wamp服务器并实现无公网IP远程访问
文章目录 前言1.Wamp服务器搭建1.1 Wamp下载和安装1.2 Wamp网页测试 2. Cpolar内网穿透的安装和注册2.1 本地网页发布2.2 Cpolar云端设置2.3 Cpolar本地设置 3. 公网访问测试4. 结语 前言 软件技术的发展日新月异,各种能方便我们生活、工作和娱乐的新软件层出不穷&…...
matlab使用教程(19)—曲线拟合与一元方程求根
1.多项式曲线拟合 此示例说明如何使用 polyfit 函数将多项式曲线与一组数据点拟合。您可以按照以下语法,使用 polyfit 求出以最小二乘方式与一组数据拟合的多项式的系数 p polyfit(x,y,n), 其中: • x 和 y 是包含数据点的 x 和 y 坐标的向量 …...
【Go 基础篇】Go语言关键字和预定义标识符解析:探索编程的基石与核心要素
介绍 在计算机编程中,关键字(Keywords)和预定义标识符(Predefined Identifiers)是编程语言的核心要素,它们在语法结构和语言功能中起到重要作用。在Go语言(Golang)中,关…...
微服务与Nacos概述-6
RBAC 模型 RBAC 基于角色的访问控制是实施面向企业安全策略的一种有效的访问控制方式。 基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当…...
不是说嵌入式是风口吗,那为什么工作还那么难找?
最近确实有很多媒体、机构渲染嵌入式可以拿高薪,这在行业内也是事实,但前提是你有足够的竞争力,真的懂嵌入式。 时至今日,能做嵌入式程序开发的人其实相当常见,尤其是随着树莓派、Arduino等开发板的普及,甚…...
【二叉树】114. 二叉树展开为链表
114. 二叉树展开为链表 解题思路 后序遍历思路将root的左子树和右子树展平将root的右子树接到左子树下方 然后将整个左子树作为右子树 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* Tree…...
docker的安装与基础使用
一.docker简介 1)什么是docker Docker是一种用于构建、打包和运行应用程序的开源平台。它基于操作系统级虚拟化技术,可以将应用程序和其依赖的库、环境等资源打包到一个可移植的容器中,形成一个轻量级、独立的可执行单元。 开发者在本地编…...
python+django+mysql高校校园外卖点餐系统--计算机毕设项目
本文的研究目标是以高校校园外卖点餐为对象,使其高校校园外卖点餐为目标,使得高校校园外卖点餐的信息化体系发展水平提高。论文的研究内容包括对个人中心、美食分类管理、用户管理、商家管理、美食信息管理、工作人员管理、安全检查管理、系统管理、订单…...
获取excel中的图片(包含wps中嵌入单元格图片)
项目中有excel导入功能,并且需要导入excel中的图片;模板如图: 已知office中插入的图片为浮动形式;如图: wps中可以插入浮动图片,也可以插入嵌入单元格图片;如图: 并且在wps嵌入单元格形式的图片可以看到使用的是公式;如图: 问题来了,如何获取图片 并且将图片与单元格进行对应 …...
Git命令详解
1 常用命令 1)初始化本地仓库 git init <directory> 是可选的,如果不指定,将使用当前目录。 2)克隆一个远程仓库 git clone <url> 3)添加文件到暂存区 git add <file> 要添加当前目录中的所…...
【STM32RT-Thread零基础入门】 4. 线程介绍(理论)
文章目录 前言一、线程的概念二、线程的调度三、上下文切换四、线程的重要属性1. 线程栈2. 线程的状态3. 线程优先级4. 线程时间片5. 线程的入口函数 五、RT-Thread命令查看系统线程信息总结 前言 前文中的最后一个任务发现,一个main()函数很难同时实现按键功能和闪…...
css学习3(三种样式表与样式控制优先级)
1、外部样式表:当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表,也要放到<head>中。 2、外部…...
【JS深层解析】内存
前言 接触过 C 语言的小伙伴应该了解:C语言拥有底层最原始的内存管理办法,例如:malloc() 和 free()方法,它们被开发者用来从操作系统中分配和释放内存。 然而在JavaScript这门语言中,当我们创建了一个东西(可以被读写、传递的数据),浏览器中的 js 引擎会根据创建这个…...
第二章:25+ Python 数据操作教程(第十四节NUMPY 教程与练习)
NumPy(“Numerical Python”或“Numeric Python”的缩写)是 Python 中对数组和矩阵进行快速数学计算的最基本的软件包之一。在处理多维数据时它也非常有用。集成C、C++和FORTRAN工具是一件幸事。它还提供了许多傅里叶变换 (FT) 和线性代数函数。 为什么使用 NumPy 而不是列…...
Pycharm与Anaconda Python的开发环境搭建
目录 一:下载 二:安装python 三:设置Pycharm 一:下载 下载Anaconda: Anaconda | The World’s Most Popular Data Science Platform 安装好以后,设置一下环境变量: 打开命令行,…...
2.创建小程序
创建 在开发工具中,选择小程序,点击加号 填写小程序信息,模板使用的是TS+Sass 编辑器的工作区 目录结构 项目使用的是ts的模板,目录结构和js的有一点差异,目录结构如下: miniprogram:小程序根目录 —pages:小程序页面目录 ——xxx:页面目录,一个页面对应一个目…...
XenDesktop5.6如何连接数据库
Citrix在数据库的连接方式上一直不统一,但是也还是有迹可循的。 经过了好长时间的下载以后,今天终于有时间来测试一下最新版本的XenDesktop 5 SP1,由于结合了其他组件和环境的需要,所以,选择了独立部署数据库…...
OAuth2.0一 Spring Security OAuth2.0
这里主讲OAuth2.0 学习OAuth2前提: 掌握Spring Security Spring Security学习 一 OAuth2.0介绍 OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方应用访问他们…...
【linux】kernel编译时相关报错
文章目录 1. 问题现象及解决方式1. cc1: error: code model kernel does not support PIC mode 1. 问题现象及解决方式 1. cc1: error: code model kernel does not support PIC mode 问题:编译module时报错 原因:未指定交叉编译器,导致默认…...
C语言 功能型API --------------------strcat()
NAME strcat, strncat - concatenate two strings 头文件 SYNOPSIS #include <string.h> 函数原型: char *strcat(char *dest, const char *src); 功能: 在字符串dest的末尾将字符串src拼接上去 #include <stdio.h> #inc…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
python可视化:俄乌战争时间线关键节点与深层原因
俄乌战争时间线可视化分析:关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一,自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具,系统分析这场战争的时间线、关键节点及其背后的深层原因,全面…...
华为云Flexus+DeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手
华为云FlexusDeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手 一、构建知识库问答助手引言二、构建知识库问答助手环境2.1 基于FlexusX实例的Dify平台2.2 基于MaaS的模型API商用服务 三、构建知识库问答助手实战3.1 配置Dify环境3.2 创建知识库问答助手3.3 使用知…...
【中间件】Web服务、消息队列、缓存与微服务治理:Nginx、Kafka、Redis、Nacos 详解
Nginx 是什么:高性能的HTTP和反向代理Web服务器。怎么用:通过配置文件定义代理规则、负载均衡、静态资源服务等。为什么用:提升Web服务性能、高并发处理、负载均衡和反向代理。优缺点:轻量高效,但动态处理能力较弱&am…...
Linux——TCP和UDP
一、TCP协议 1.特点 TCP提供的是面向连接、可靠的、字节流服务。 2.编程流程 (1)服务器端的编程流程 ①socket() 方法创建套接字 ②bind()方法指定套接字使用的IP地址和端口。 ③listen()方法用来创建监听队列。 ④accept()方法处理客户端的连接…...
