使用PHPStudy在本地快速建立网站并实现局域网外访问(无公网IP)

news2024/9/24 15:25:56

文章目录

      • 使用工具
      • 1. 本地搭建web网站
        • 1.1 下载phpstudy后解压并安装
        • 1.2 打开默认站点,测试
        • 1.3 下载静态演示站点
        • 1.4 打开站点根目录
        • 1.5 复制演示站点到站网根目录
        • 1.6 在浏览器中,查看演示效果。
      • 2. 将本地web网站发布到公网
        • 2.1 安装cpolar内网穿透
          • 2.2 映射内网端口
          • 2.3 实现公网访问本地web网站


本教程为快速在本地环境下搭建web网站,同时实现可在外网环境下访问!!


使用工具

  • phpstudy(本地搭建web网站)
  • cpolar内网穿透(将网站发布到公网可访问)

1. 本地搭建web网站

1.1 下载phpstudy后解压并安装

官网下载:https://www.xp.cn/download.html

安装后的效果,如图:

1

点击,一键启动 WNMP 旁边的启动按钮,会默认启动nginx,MYSQL 5.7,在启动过程中,如有提示防火墙提示,允许即可。

2

1.2 打开默认站点,测试

在PHPStudy面版–网站–选择localhost 80的默认站点,点击管理,弹出下拉菜单,选择打开网站,会弹出浏览器,打开本地默认站点http://localhost

3

如下图,说明安装成功。

4

1.3 下载静态演示站点

下载:https://www.cpolar.com/static/downloads/meditation-app-master.zip

下载后,解压缩,复制目录下的所有文件,如下图

5

1.4 打开站点根目录

我们找到并打开网站的根目录

6

默认在 D:\phpstudy_pro\WWW, 我们将目录里所有文件删除,如下图

7

1.5 复制演示站点到站网根目录

复制我们的演示站点所有文件到该目录下,复制后如下图:

8

1.6 在浏览器中,查看演示效果。

这个网站此时只能在本地局域网内访问,公网暂时还无法访问到。

9

2. 将本地web网站发布到公网

要将在本地搭建的网站发布到公网可访问,可以做内网穿透来实现,我这里选择用cpolar内网穿透,支持http/https/tcp协议,不限制流量,可以免费使用,不用公网IP,也不用设置路由器,使用比较简单。

2.1 安装cpolar内网穿透

cpolar内网穿透官网:https://www.cpolar.com/

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的cpolar

  • Windows系统下载zip压缩包,解压后得到cpolar安装包,然后双击安装包一路默认安装即可;
  • linux系统支持一键自动安装脚本;
  • macOS系统下载zip压缩包,解压后得到cpolar,然后通过命令行带参数运行即可。

linux系统以及macOS系统安装cpolar可参考官网文档教程————→https://www.cpolar.com/docs

2.2 映射内网端口

cpolar安装完成后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI

web ui

登录成功进入主界面后,点击左侧仪表盘的隧道管理——创建隧道

  • 隧道名称:可自定义命名,注意不要重复
  • 协议:选择http
  • 本地地址:80(填写你想要映射的内网端口)
  • 域名类型:免费用户选择随机域名,付费用户可以配置固定的二级子域名或者自定义域名
  • 地区:选择China vip

然后点击创建

在这里插入图片描述

2.3 实现公网访问本地web网站

隧道创建成功后,可以在左侧仪表盘的状态——在线隧道列表,查看到刚刚所创建隧道的公网地址,有两行,一个是http协议,一个是https协议。

在这里插入图片描述

将公网地址复制到浏览器访问即可,成功实现公网访问本地网站。

13

PS:需要注意的是,由于这次使用的是免费的cpolar,所生成的公网地址为随机临时地址,每隔24小时就会发生变化,并且带宽较小,比较适用于开发测试。如果你想要将访问地址设置成固定的,可以升级cpolar套餐配置,支持21天退款保证,详细可以参考下一篇文章教程。

转载自cpolar极点云文章:phpstudy本地快速搭建网站,并外网访问【无公网IP】

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

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

相关文章

前端面试题JS篇(1)

JS 的各种位置,比如 clientHeight,scrollHeight,offsetHeight ,以及 scrollTop, offsetTop,clientTop 的区别 clientHeight:表示的是可视区域的高度,不包含 border 和滚动条offsetHeight:表示可视区域的高度,包含了 b…

React 状态管理 - Redux 进阶(下)提升开发体验

目录 扩展学习资料 Reselect【数据持久化】&Immutable Data【不变数据】方案【解决某些场景重复渲染,重复计算的问题】 /src/reducer/index.js Reselect【 可缓存的筛选项,当数据量大的时候,可以节省diff时间,提升渲染效率…

[B题]2023 年全国大学生数学建模比赛思路、代码更新中.....

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

力扣刷题总结一:模拟+哈希表+双指针+前缀和+滑动窗口

模拟 根据题目意思,捋清整个流程,使用代码去模拟整个流程 例题 种花问题 class Solution:def canPlaceFlowers(self, flowerbed: List[int], n: int) -> bool:# 模拟,在数组前后各添加1个0,从第1个元素到倒数第2个元素&…

CMake输出编译时间信息

使用CMake进行编译的代码,有时候会希望获得当前代码编译的时间信息,使用CMake提供的函数和宏等功能可以实现这个功能,下面是实现这个功能的一段代码 原文链接: CMake输出编译时间信息

YOLOV7改进-最新的可变形卷积V3

DCNv3 1、先编译这个文件,放到models文件夹下,再编译 2、编译命令 3、复制到common文件最后 4、源文件用的是LN,由于这里用的都是LN,所以也改了 5、原文也是没接激活函数的,但是按照yolo格式来说,会接一个 6、不加激活函数就把act去掉 7、DCNv3只在gpu上运行,所以下…

记一次时间序列算法的自回归预测--ARAutoreg

背景 最近公司给客户要做一些数据的预测,但是客户不清楚哪些做起来比较符合他们的,于是在经过与业务方的沟通,瞄准了两个方面的数据 1.工程数据:对工程数据做评估,然后做预警,这个想法是好的,…

java 咖啡餐厅管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 咖啡餐厅管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0…

【2023最新版】DataGrip使用MySQL教程

目录 一、安装MySQL 二、安装DataGrip 三、DataGrip使用MySQL 1. 新建项目 2. DataGrip连接MySQL 下载驱动文件 填写root密码 测试 成功 3. DataGrip操作MySQL 四、MySQL常用命令 1. 登录 2. 帮助 3. 查询所有数据库 一、安装MySQL MySQL是一种开源的关系型数据库…

java: 读取snakeyaml-1.26.jar各种jar包时出错; error in opening zip file

可能的问题 jar有问题idea没有权限等等其他问题。但执行后报错就是读取不了,还报error in opening zip file这个错。 解决问题 我的错就是jar包有问题。我先后进行了很多次把jar包位置里的东西全部删除,然后重新maven下载但是不管用。最后从网站上下载…

Kotlin委托Delegate托管by

Kotlin委托Delegate托管by import kotlin.reflect.KPropertyfun main() {var user: String by MyDelegate()user "fly"println(user) }class MyDelegate {private var v: String? nulloperator fun getValue(thisRef: Any?, property: KProperty<*>): Stri…

基于SSM的实验室耗材管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

解决方案 | 电子签让公共事业服务更便捷

为深入贯彻落实国务院关于深化“放管服”改革的号召&#xff0c;各地政府纷纷出台创新举措&#xff0c;优化营商环境&#xff0c;将公共事业服务纳入“一网通办”的范畴。 政策助力&#xff0c; 让公共事业服务实现“足不出户”线上办 上海&#xff1a;上海市大数据中心与国网…

Discourse 的无效附件清理

Discourse 对上传的附件会进行清理&#xff0c;对于一些没有任何被引用的附件&#xff0c;Discourse 会认为是垃圾而清理掉。 原因应该是为了降低存储空间的使用&#xff0c;但是我们目前使用的是 S3 &#xff0c;所以对存储空间并没有太多的要求。 根据官方的说法&#xff0…

SpringBoot配置优先级和Bean管理

SpringBoot配置优先级和Bean管理 1&#xff09;SpringBoot配置优先级2&#xff09;Bean管理【1】获取bean【2】bean作用域【3】第三方bean 1&#xff09;SpringBoot配置优先级 优先级(低>高) application.yaml(忽略)application.ymlapplication.propertiesjava系统属性(-Dxx…

LeetCode(力扣)78. 子集Python

LeetCode78. 子集 题目链接代码 题目链接 https://leetcode.cn/problems/subsets/description/ 代码 class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:result []self.backtracking(nums, result, 0, [])return resultdef backtracking(self, nu…

容器编排学习(一)k8s集群管理

一 Kubernetes 1 概述 就在Docker容器技术被炒得热火朝天之时&#xff0c;大家发现&#xff0c;如果想要将Docker应用于具体的业务实现&#xff0c;是存在困难的一一编排、管理和调度等各个方面&#xff0c;都不容易。于是&#xff0c;人们迫切需要一套管理系统&#xff0…

MIT 6.S081学习笔记(第〇章)

〇、前言 本文涉及 xv6 《第零章 操作系统接口》相关&#xff0c;主要对涉及的进程、I/O、文件描述符、管道、文件等内容产生个人理解&#xff0c;不具有官方权威解释&#xff1b;文章的目录与书中的目录没有严格的相关性&#xff1b;文中会有问题 (Question) 字段&#xff0c…

uniapp里textarea多行文本输入限制数量

uniapp里textarea多行文本域实现输入计数 <template><view class"inputs"><textarea class"text1" maxlength50 placeholder请输入... input"sumfontnum"></textarea><text class"text2">{{fontNum}}/…

软件设计模式(三):责任链模式

前言 前面荔枝梳理了有关单例模式、策略模式的相关知识&#xff0c;这篇文章荔枝将沿用之前的写法根据示例demo来体会这种责任链设计模式&#xff0c;希望对有需要的小伙伴有帮助吧哈哈哈哈哈哈~~~ 文章目录 前言 责任链模式 1 简单场景 2 责任链模式理解 3 Java下servl…