教大家一个简单的方法,实现在无公网IP环境下,在本地搭建web服务器,并实现外网远程访问。
使用工具:
- phpstusy:https://www.xp.cn/download.html
- cpolar内网穿透:https://www.cpolar.com/
1. 搭建本地web服务器
这里直接用phpstudy来搭建web服务器。它是一个PHP调试环境的程序集成包。集成了最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,无须额外的配置就可以使用,非常简单。
- 直接进入到phpstudy官网下载就可以
- 下载成功后,点击
一键启动
—————WNMP
旁边的启动
按钮,会默认启动nginx,MYSQL 5.7。在启动过程中,如有提示防火墙提示,允许即可。
如下图,说明安装成功。
到这一步,本地服务器环境已经搭建成功,可以在本地访问,但是还未进行内网穿透,因此还不能在外网访问。
2. 外网访问本地web服务器
外网访问内网,我们这里用cpolar内网穿透来实现,不需要公网IP,也不用设置路由器,支持http/https/tcp协议,不限制流量,可以免费使用。
2.1 安装cpolar内网穿透
cpolar内网穿透官网:https://www.cpolar.com/
点击进入cpolar官网,点击免费使用
注册一个账号,并下载最新版本的cpolar
2.1.1 windows系统
直接下载客户端到本地,解压后双击安装包一路默认安装即可。
2.1.2 linux系统(支持一键自动安装脚本)
- cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
- 查看版本号,显示3.2.88.22
cpolar version
- token认证
登录后台,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
- 简单穿透测试,正常生成公网地址
cpolar http 8080
按ctrl+c退出
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
- 查看服务状态,正常显示为
active
sudo systemctl status cpolar
2.2 映射内网端口
cpolar安装完成后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI
登录成功进入主界面后,点击左侧仪表盘的隧道管理
——创建隧道
- 隧道名称:可自定义命名,注意不要重复
- 协议:选择
http
- 本地地址:80(填写你想要映射的内网端口)
- 域名类型:免费用户选择
随机域名
,付费用户可以配置固定的二级子域名或者自定义域名 - 地区:选择
China vip
然后点击创建
2.3 实现外网访问内网web服务器
隧道创建成功后,可以在左侧仪表盘的状态
——在线隧道列表
,查看到刚刚所创建隧道的公网地址,有两行,一个是http协议,一个是https协议。
将公网地址复制到浏览器访问即可,实现公网远程访问内网web服务器。
显示如下图灰色的画面,这说明,cpolar已经配置正确,隧道创建成功。只是本地8080端口上,并未发现可用的web站点(因为还没有配置本地Web Server。所以才会显示灰色不可用的画面。如果你本地有正常配置页面,那么就会正常显示出来。)
需要注意的是,使用免费的cpolar所生成的公网地址为随机临时地址,24小时内会发生变化,对于日常测试开发完全足够,但是如果需要长期访问,建议为其配置固定的公网地址,同时提高带宽,实现更为流畅的访问。
- 详细可以参考这篇文章教程,配置固定的公网二级子域名(可自定义)↓
- 为本地web服务配置使用固定的二级子域名【内网穿透】