网上有很多关于django项目发布uwsgi模块在 windows上的下载以及安装过程,

可是他们也并没有真正的在windows上使用到这个模块(至少目前在网上还没看到过),

而大部分人就是在Django自带的服务器上实现本地局域网内的各个终端去访问这个网站

过程如下:

1.在项目settings.py中去配置

  DEBUG = True

  # ALLOWED_HOSTS = ['*']

  ALLOWED_HOSTS = ['IP']  # IP 自己电脑的ipv4

如何查看自己的ip ?

  键盘同时按住(win+r)输入:cmd

  进入命令提示符界面:输入ipconfig 回车

  IPv4 地址 . . . . . . . . . . . . : IP

2.然后运行Django自带的服务器:

命令:python manage.py runserver IP:8000(或者80)

然后用浏览器可以进行访问,并在在本机所在局域网内的所有终端都可以访问这个网站

PC端的火狐浏览器可以访问

移动端的手机也可以访问

注意:以上都只能够在本地局域网内进行

有没有一种方式可以让我们开发java web项目那样实现真正的内网穿透(端口映射)呢??

回答是:有!我们完全可以用java web开发中的内网穿透工具和Django自带的服务器之间实现端口映射!!!

具体过程如下:

因为内网穿透的工具比较多,对于我们学生而言免费又好用的ngrok是比较好的选择

ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析与响应。

开源免费

官网:https://ngrok.com/

源码:https://github.com/inconshreveable/ngrok

2.使用ngrok

在这里注册账号,https://www.ngrok.cc/login

注册成功:进入主页

点击隧道管理-->开启隧道:

点击原价0元,立即购买(每一个QQ号注册的只有一次0元购买机会)

点击确定

填写你想要的的域名(免费赠送的一个域名)填写你要映射的端口,这个端口一定要记住,而且你的这个端口没有被占用;还有就是需要记住http验证的用户名和密码;填好之后就点击确定添加

然后点击隧道管理:

  1. 记住隧道id(一定要记住后续端口映射需要);
  2. 隧道协议;
  3. 本地端口等。

3.ngrok本地客户端的使用

下载地址https://www.ngrok.cc/download.html

选择你所需要的版本下载即可。

下载完成之后解压缩即可使用

点击箭头所指的bat文件,输入第二步的隧道ID,回车即可。

开启成功

成功开启之后,我们可以看到有域名指向了我们本地的服务器

内网穿透工具我们已经准备就绪:

现在我们需要配置Django项目中的settings.py文件

DEBUG一定要等于TRUE

然后我们启动Django自带的服务器:(可能你会有疑问,为啥不是:python manage.py runserver 127.0.0.1:80这个命令,后面有说明,请看说明! )

此时我们的后端已近都准备好了,我们需要在浏览器中输入127.0.0.1:80所对应的域名就可以从外网访问到我们的网站了:

使用所给域名来访问这个网站,但是刚开始访问的会有个http验证,这时就需要开通隧道时的http验证用户名和密码了,输入之后就可以访问这个网站了!

注意:

listen(127.0.0.1:80) 与 listen(0.0.0.0:80)的区别

127.0.0.1 环回测试地址,代表本机IP地址,访问127.0.0.1:80表示本机的80号端口,且仅表示内网访问

0.0.0.0 网络地址,0.0.0.0:80也表示本机IP地址,以外网的方式访问

这两种表示法用以对计算机端口进行权限设置

如果listen(0.0.0.0:XX),则这个可以被外部网络访问

而 listen(127.0.0.1:XX) 则这个端口只能被本机访问

win10上的Django项目实现内网映射的更多相关文章

  1. 使用内网映射工具Holer将本地的Web应用映射到公网上访问

    Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Su ...

  2. 内网映射到公网工具 --- ngrok

    ngrok可以将内网映射到公网上,这样就可以在公网上访问你的网络服务. 该工具通常在进行app开发和微信开发时比较有用,这样就可避免在公网服务器上单独部署项目,通过映射,直接连接本地服务即可进行开发. ...

  3. 新花生壳+tomcat(内网映射,无需设置路由器)建站攻略

    说明: 1.适用于内网用户(局域网,校园网,或者公司网等无法更改路由器映射的情况) 2.一共花了8块钱…………心疼.不过如果大家有钱的话,8块钱,少吃一顿麻辣烫就好了~总之,这个适用于测试网站,小访问 ...

  4. openvpn实现内网 映射到 外网

    openvpn实现内网 映射到 外网 场景介绍: 机器介绍 本地一台Ubuntu服务器A , 处于内网中 , 无外网IP 外网一台Ubuntu服务器B , 外网地址139.199.4.205 目标 : ...

  5. Holer一款局域网服务器代理到公网的内网映射工具

    Holer简介 Holer是一个将局域网服务器代理到公网的内网映射工具,支持转发基于TCP协议的报文. 相关链接 开源地址:https://github.com/Wisdom-Projects/hol ...

  6. 用花生壳实现内网映射,决解无域名、无公网IP、无服务器空间问题

    无域名.无公网IP.无服务器空间用花生壳提供的免费内网映射吧.你的PC就是服务器,花生壳提供的自定义二级域名轻松访问你的个人网站. 1.首先你得注册哦,然后申请免费的域名(2个) 2.设置路由器,下面 ...

  7. LanProxy 内网映射穿透

    前言:用过 ngrok 的人都知道,这是一个免费并且简便的内网映射工具,可是现在ngrok不知道弄啥?不能用了,那我们只能去找一些新的工具,下面是我跟我朋友一起弄的(主要是他教我(✪ω✪)),免费的, ...

  8. Android Studio项目Gradle内网配置

    由于内网无法连接到外部网络,在使用Gradle编译Android Studio项目时就会面临一些问题: 1.Gradle安装文件无法下载 2.Gradle Android插件无法下载 3.项目依赖文件 ...

  9. 外网win10 64位环境下 为内网win7 32位安装三方包的最靠谱手段:python64位、32位全安装。

    经过一周的各种折磨,如题.以下是我的经验和教训. 我的外网是win10 64位,内网环境win7 32位.由于未知原因,anaconda无法安装!!! 其实最靠谱的安装三方包的还是whl包.但是很有可 ...

随机推荐

  1. css-js-弹出层

    HTML: <!-- 弹出层 --> <div class="popwindow" > <div class="pop" id=& ...

  2. 【Leetcode】判断平面中1个点是否落在三角形内

    参考资料: 题目: https://blog.csdn.net/dongtinghong/article/details/78657403 符号重载: https://blog.csdn.net/cd ...

  3. 南京网络赛C

    分段打表大法好!!! 打表40min,A题1s https://nanti.jisuanke.com/t/41300 #include<bits/stdc++.h> #define int ...

  4. Http请求详解(转)----请求+响应各字段详解

    参考HTTP深入浅出http请求(转)-----http请求的过程和实现机制 1. HTTP请求格式 首先介绍HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protoc ...

  5. 基本的axios用法

    首先安装axios: 1):npm install 2):npm install vue-axios --save 3):npm install qs.js --save //它的作用是能把json格 ...

  6. Jmeter -- 上下文关联(JSON提取器)

    目标: 将请求A响应数据的部分内容提取出来,保存成变量供后续请求使用(用在返回格式为json的HTTP请求中) 步骤: 1. 添加JSON Extractor后置处理器 add --> post ...

  7. 2017年广东省ACM省赛(GDCPC-2017)总结

    今年第一次参加省赛(也是第一次参加这类比赛),既有点惊喜又有点紧张,前一晚没有怎么睡好,有点怕今年打铁,虽然说大一打铁也说的过去,可是谁也不想打铁. 一开始比赛的时候我一开始没有去看题,而是把我们队的 ...

  8. 【mysql】如何通过navicat配置表与表的多对一关系,一对一关系?设计外键的效果

    背景: 现在要将接口自动化测试结果持久化,当前只是每次运行接口测试,将测试结果通过邮件发送给项目组成员.邮件内容如下: 表设计: 为了呈现这个结果:我设计了2张表run_result和run_deta ...

  9. jest 事件测试

    概述 最近玩 Jest,测试 Vue 组件上的事件,有一些心得,记录下来供以后开发时参考,相信对其他人也有用. 事件测试 对于 Vue 组件上的事件,分为 2 种,一种是子组件 Emit 的事件,另一 ...

  10. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_5 Mybatis的CRUD-查询返回一行一列和占位符分析

    聚合函数 模糊查询的另外一种写法 如果用户这种方式里面的value是固定的 因为在源码分析中,绑定的就是固定的value值 所以这里传参数的 没必要在用百分号了 删掉后 xml里面应该用这种方式来注释 ...