如何在Windows上搭建web站点,并发布到公网?1-1

2023-10-26

系列文章


上一篇

概述

这非常适合设置您的第一个网站,我们将在Windows上搭建一个PHP站点环境,然后部署一个演示站点,并且将它发布到公网上,让您的好友及用户可以访问到它。

1. Windows安装StudyPHP

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

1.1 下载后解压并安装

安装后的效果,如图:

点击,一键启动 WNMP 旁边的启动按钮

会默认启动nginx,MYSQL 5.7

在启动过程中,如有提示防火墙提示,允许即可。

1.2 打开默认站点,测试

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

如下图,说明安装成功。

2 下载静态演示站点

2.1 下载演示站点

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

2.2 解压并复制

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

2.3 打开站点根目录

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

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

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

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

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

这是一个冥想站点,可以选择2-5-10分钟不同的时间,可以切换下雨与阳光不同的情景。用于放松自我,调解心境,给自己做一个心灵SPA。

3. 将站点发布到公网

这里,使用cpolar内网穿透工具,如果您还没有安装,请参考前一篇教程《如何在Windows下安装cpolar》

3.1 生成cpolar随机URL公网地址

打开命令行窗口:

cpolar http -region=cn_vip 80

现在,cpolar将内网站点,发布到了一个随机域名网址:https://711d7522.vip.cpolar.cn

3.2 复制命令行窗口里的随机网址

在命令行窗口上按鼠标右键,弹出菜单,选择标记.如下图:

然后选择要复制的网址后,再次点击鼠标右键。则复制成功。

我们把复制好的URL,粘贴在浏览器中,看一下效果。

打开浏览器试:https://380b860c.vip.cpolar.cn/

现在,我们的站点,已经发布到了公网,任何人都可以访问到它。虽然它是临时站点。

我们可以将应该地址发给好友,让TA也做个心灵SPA。^ ^

回到cpolar命令行窗口,按CTRL+C键,退出cpolar

此时,公网地址不再能被访问。

3.3 如何生成一个非随机的公网URL?

虽然我们已经发布了站点公网,但域名是随机变化的(24小时后会变化),这只适合临时测试使用。如果要长期使用,我们要配置二级子域名。

操作步骤:

  1. 登录到cpolar后台-->套餐,升级到cpolar基础套餐
  2. cpolar后台-->预留-->保留二级子域名,例如添加dev9(改成您自己喜欢的),地区选择VIP China地区

回到命令行窗口,测试预留好的二级子域名

cpolar http -subdomain=dev9 -region=cn_vip 80

显示如下图,说明创建隧道成功

我们打开浏览器测试一下:

我们的全网唯一私有二级子域名,创建好了。

总结

今天,我们在Windows上安装了StudyPHP站点环境,也配置了一个演示站点,并且使用cpolar将其发布到公网,也配置了一个容易记忆的二级子域名。

接下来的章节里,我们将继续完善它,将cpolar配置为开机自启动。将二级子域名的配置,写在cpolar配置文件里,并且设置cpolar为后台服务模式,开机自启动。


 下一篇

延伸阅读

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Windows上搭建web站点,并发布到公网?1-1 的相关文章

  • PHP OCI8 扩展不适用于 PHP 7 64 位

    我已经安装了 APACHE 2 4 x64 和 PHP7 x64 并下载了 PHP OCI 64 位库 但问题是每当我从 cli 运行 PHP 脚本时 它都会说 PHP启动 无法加载动态库 E 软件 服务器 php 7 0 11 Win32
  • 使用 git 客户端和 SVN 存储库的最佳工具/方法

    我已经使用 SVN 大约两年了 主要是通过 TortoiseSVN 和 IntelliJ 并尝试了 git 主要是通过 TortoiseGIT 在这里检测到模式 我们公司正在使用 SVN 作为存储库 他们不会考虑很快进行切换 在本地使用 g
  • 带代理的 PHP CURL 导致套接字上的 CLOSE_WAIT

    我正在使用 PHPcurl 库来建立连接并从 WEB 检索内容 通常 我有多个 SOCKS5 代理服务器在 localhost 上运行 端口从 10300 到 10350 PHP 随机选择一个端口 My code ch curl init
  • 带下拉列表的过滤器 Laravel

    我有一个下拉菜单 用于按类别过滤图像 我的第一个问题是我希望在过滤器之后选择选定的选项 我该怎么做 这是我第一次使用 Laravel 我想知道我的解决方案是否朝着正确的方向前进 现在我在两个函数中有相同的代码 我计划修复这个问题 但我真的无
  • php 的睡眠函数

    作为使用 cron 作业的可能替代方案 我找到了 sleep 函数 我以前从未使用过这个 如果我告诉我的脚本在一种循环内运行 并且在该循环内我有这样的指令 sleeps for 86400 seconds or one day sleep
  • .htaccess php_value include_path 不起作用

    我在当地有一个小项目 我在 Windows 下使用 XAMPP 工作 我的文件目录结构是 根目录 C xampp htdocs routes Under this folder I have my bootstrap php with th
  • mysqli_fetch_assoc() 期望参数 1 为 mysqli_result,布尔值给出

    看来我的 mysqli query 不起作用 我该怎么办 在密码附近的查询中使用 AND 而不是逗号 这就是查询返回 false 并抛出该错误的原因 select
  • PHP APC 潜在的缓存猛击避免了密钥

    我在尝试使用时收到此错误apc store 我用谷歌搜索了一下 发现这是APC定时炸弹错误并看到了一些建议添加的修复apc slam defense Off 到 php ini 我需要知道这是否是由于编程错误而发生的 如果是 如何修复它 这
  • 重新排列关联数组的最优雅的方法是什么?

    假设你有一个关联数组 hash Fruit Apple hash Name Jeff hash Car Ford 并且您无法更改这些变量的创建顺序 因此 Car 总是在 Name 等之后添加到数组中 将 Car 添加 移动到关联数组的开头而
  • 如何使用 Retrofit 2 下载 pdf 文件

    我在下载带改造的 pdf 文件时遇到困难 我的代码生成了一个文件 但它的大小错误 并且当 pdf 打开时它是空白的 这就是我的 php web 服务返回 pdf 文件的方式 param Slim Slim app param String
  • Ionic 3 Uncaught(承诺):[object Object]

    我是 Ionic 3 和移动开发的新手 我正在尝试将 MySQL DB 连接到我的 Ionic 应用程序和 PHP Restful API 我用 Postman 测试了 API 它工作得很好 为了在 Ionic 中实现它 我做了以下操作 我
  • PHP/Apache 中的输出缓冲块如何工作?

    假设我将随机数据从 PHP 回显到浏览器 随机数据总量约为 XGb 回显以 YKb 块的形式完成 不使用 ob start PHP 和 Apache 缓冲区已满后 echo 调用是否会阻塞 客户端无法以与生成数据相同的速度使用数据 如果是
  • 为什么 XDebug 忽略 NetBeans 6.8 中的断点?

    我在 Ubuntu 10 04 笔记本电脑上运行 PHP 5 3 2 Apache 2 2 14 和 xdebug 2 2 0rc1 并且尝试在 Netbeans 6 8 中的本地主机上设置调试 我的问题是我在 Netbeans 中设置的断
  • 如何在 PHP 中随机组合两个数组

    如何将两个数组组合成一个数组 我请求的方式是第三个组合数组应包含一个数组中的一个值和另一个数组中的下一个值 依此类推 或者 它可以是随机的 前任 arr1 1 2 3 4 5 arr2 10 20 30 40 50 和组合数组 arr3 1
  • Jquery ui 自动完成多个输入字段和 ajax 结果

    我正在尝试做其他几个人在堆栈上已经完成的事情 我已经尝试了所有可用的示例 但似乎无法使其工作 我已经复制了工作示例并反映了与我的情况相匹配的更改 但仍然没有 我使用的 HTML 看起来像这样 tr td a span class icon
  • Laravel 5.2 升级 - 找不到类 AuthServiceProvider

    我目前正在花时间将我的项目从 Laravel 4 2 升级到 Laravel 5 2 经过很多麻烦 我设法让 5 1 版本正确运行 因此我按照官方文档中所述开始了 5 1 到 5 2 的过程 https laravel com docs 5
  • 在php中将指数数转换为小数

    我有一个指数格式的浮点数 即4 1595246940817E 17我想将其转换为十进制数 例如 2 99 等 任何帮助将不胜感激 format number sprintf 似乎不适合我 你需要像 BC 这样更好的数学扩展数学 GMP ht
  • cron 作业或 PHP 调度程序

    我使用 MYSQL 作为我的数据库 PHP 作为我的编程语言 我想运行一个 cron 作业 该作业将运行直到当前系统日期与我的数据库表中名为 PROJECT 的 截止日期 日期 列匹配 一旦日期相同的是 必须运行更新查询 这会将状态 项目表
  • 警告:sqlsrv_num_rows() 期望参数 1 为资源,给定布尔值[重复]

    这个问题在这里已经有答案了 出现此警告的原因有很多 但是 我认为我的问题是该表APPT为空 并且不包含任何内容row与t schedule id 我阅读了可能已经有答案的每个问题 并且所有答案都说明了同样的事情 您的 SQL 查询未成功并且
  • 更新 Laravel 路由文件没有效果

    我正在尝试创建一个视图来显示数据库中的数据 但我发现我的路线文件不再执行任何操作 目前我正在尝试让测试功能正常工作 但是当我去 test它只是说 找不到网页 其他路线有效 即使我删除所有内容并保存文件 所有其他路线都可以工作 我努力了art

随机推荐

  • Redis在Springboot中的使用——Hash

    Redis在Springboot中的使用 Hash 数据类型详解 操作命令 添加 获取 修改 删除 其他操作 使用 应用场景 购物车 用户个人详情 商品详情 数据类型详解 在讲解Redis中Hash的使用之前 大家需要知道Hash是怎么样的
  • 【C++】构造函数初始化列表

    目录 一 为什么要用构造函数初始化列表 二 使用构造函数初始化列表的方式 三 构造函数成员初始化顺序 一 为什么要用构造函数初始化列表 常规的构造函数初始化方式 class Rectangle public Rectangle int wi
  • C++二进制(写入,读取)

    二进制文件以基本类型数据在内存的二进制表示形式存放数据 不对写入或读出的数据做格式转换 二进制文件的读写方式由程序控制 打开二进制文件用binary方式 istream istream read char buf int n 作用 从流中提
  • 从键盘上输入一个字符,进行加密以后再输出在屏幕上。加密规律是:输入小写英文字母时,输入a输出Z、输入b输出Y、输入c输出X、...、输入z输出A。

    题目描述 从键盘上输入一个字符 进行加密以后再输出在屏幕上 加密规律是 输入小写英文字母时 输入a输出Z 输入b输出Y 输入c输出X 输入z输出A 输入大写英文字母时 将该字母ASCII码值再加上该值的1 2后输出所对应的字符 例如数字A的
  • orb-slam2 从单目开始的简单学习(6)Frame

    1 SetPose 为了获得相机坐标系到世界坐标系的旋转矩阵和平移向量以及当前相机光心在世界坐标系下坐标 void Frame SetPose cv Mat Tcw mTcw Tcw clone UpdatePoseMatrices voi
  • solve Android studio click device manage no working

    Android Studio wants to know what kind of project you have to show the right menus click left in file tree on the root n
  • vuecli引入vue-amap地图组件(高德地图SDK)

    指南 组件 vue amap 1 前往高德开放平台注册开发者账号 在控制台申请Key 高德开放平台 高德开放平台 高德地图API 申请Key 获取Key 创建工程 开发指南 Web服务 API 高德地图API 2 安装vue amap np
  • 虚拟机配置

    1 Finalshell下载 Mac http www hostbuf com downloads finalshell install pkg Windows http www hostbuf com downloads finalshe
  • clang static analyzer源码分析(二)

    引子 在clang static analyzer源码分析 一 中我们简单介绍了 AnalysisConsumer 这个类以及基于AST树的语法层级的代码检查 今天简单介绍下 PathSensitiveChecks 的概念 以及如何对cla
  • STL:vectoer

    首先包含头文件 include
  • 重参数化技巧:高斯分布采样

    1 高斯分布采样 我们现在得到了有样本X得到的分布X N mu sigma 2 通过采样我们得到确定的隐变量向量 从而作为解码器的输入 采样这个操作本身是不可导的 但是我们可以通过重参数化技巧 将简单分布的采样结果变换到特定分布中
  • Fabric上搭建Hyperledger caliper进行性能测试

    Fabric介绍 推荐文章 Hyperledger 超级账本 是Linux基金会旗下的项目 Fabric是Hyperledger项目里最早也是目前应用最广泛的区块链项目 最初由IBM开发 后来捐助给基金会 是一个开源的企业级需要许可的分布式
  • Git Gui客户端软件连接及上传文件

    1 下载客户端软件 2 上传那个文件就在哪个文件下 git gui here 之后选择当前的目录创建仓库 3 关于操作在一下连接有 https blog csdn net qq 15509267 article details 836170
  • 关于mybatis使用pageHelper分页插件问题

    关于mybatis使用PageHelper分页插件冲突以及解决方案 分页插件其实 可以提高我们的开发效率 如果我们自己手写 1会嫌麻烦 2需要写两条一条写count一条写list 虽然他底层也是这么实现的 但是不需要我们手动来写 好的工具能
  • 大数据的入门级学习

    大数据方向的工作目前分为三个主要方向 01 大数据工程师 02 数据分析师 03 大数据科学家 04 其他 数据挖掘本质算是机器学习 不过和数据相关 也可以理解为大数据的一个方向吧 由于本人曾是大数据工程师的角色 我就这个方向做一些介绍 本
  • 从0开始使用vue-element-admin

    目录 安装node js及npm 安装nrm 安装vscode 汉化 推荐安装一些好用的扩展 安装vue element admin 框架登陆原理简单分析 本教程经亲测支持最新版4 0 1vue element admin 安装node j
  • RabbitMQ宕机后,消息100%不会丢失吗

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 这篇文章 给不太熟悉MQ技术的同学 介绍一个生产环境中可能会遇到的问题 目前为止 你的RabbitMQ部署在线上服务器了 对吧 然后订单服务和仓储服务都可以基于Rab
  • 统计学习方法笔记(二)感知机

    感知机于1957年由Rosenblatt提出 是一种线性分类模型 属于判别模型 直接学习判别函数 是神经网络和支持向量机的基础 对于感知机的学习推导首先要知道他的模型是什么 然后是学习策略 损失函数 最后是学习算法 1 感知机的模型 假设空
  • vue设置全局时间格式化

    vue前台需要用户能看得懂的时间格式如常见的 2021 03 10 12 02 35 但是后台数据库则需要时间格式如LocalDateTime 2021 03 10T15 31 01 或者Date类型的 如果数据不经过处理 直接显示 肯定可
  • 如何在Windows上搭建web站点,并发布到公网?1-1

    系列文章 Windows用户如何安装使用cpolar内网穿透工具 如何在Windows上搭建web站点 并发布到公网 1 1 如何在Windows上搭建web站点 并发布到公网 2 2 如何在Windows下搭建WordPress博客站点