基于Windows10的IIS使用内网穿透搭建让所有人都能访问的Django网站

一、项目介绍

1、前情提要

  示例项目的后台使用Django编写,哪个后台无所谓,主要是在Windows上使用IIS的微软服务器搭建自己的网站,使全球各地的人都能访问到自己搭建的网站。注:在Windows Server端服务器部署

2、项目环境

  ①:Windows10
  ②:Python3.7
  ③:Django2.0
  ④:IIS
  ⑤:natapp
  ⑥:Pycharm2019.3.3x64

二、搭建过程

1、Python3.7安装

  1.1 下载链接,点击这个链接选择如下图下载
在这里插入图片描述
  1.2 勾选Add Python3.7 to PATH,并选择Custoize installation
在这里插入图片描述
  1.3 默认即可,点击下一步

在这里插入图片描述
  1.4 选择安装位置,注意:这里一定不要选择默认的安装目录,建议选择除C盘之外的任意盘符,并不要加空格和汉字,否则后面部署会出现授权问题
在这里插入图片描述
  1.5 最后点击Install安装即可,最后打开cmd输入Python,如出现以下则说明安装成功
在这里插入图片描述
  1.6 因为我们需要用到Django,所以使用下面命令安装Django即可,至此,Python3.7的环境已经准备完毕

pip install Django==2.0

2、Pycharm2019.3.3安装

  2.1 百度网盘,提取码:kpxu
  2.2 由于Pycharm安装就是一直点击下一步,没有需要注意的点,同时篇幅有限,再次不再赘述,下面是安装之后的效果

在这里插入图片描述

3、Django项目搭建

  3.1 创建新项目
在这里插入图片描述
  3.2 创建项目,如下选择,最后点击Create即可
在这里插入图片描述
  3.3 启动项目,输入在此目录cmd终端输入:python manage.py runserver,运行如下,运行之后Ctrl+C关闭即可,目的是验证自己的项目可用,出现下图说明项目搭建成功
在这里插入图片描述

4、安装ISS服务

  4.1 打开控制面板,选择“程序”
在这里插入图片描述
  4.2 选择“启用或关闭Windows功能”
在这里插入图片描述
  4.3 找到“Internet Information Services”,按照我的选择,最后点击确定,等待全部开启即可
在这里插入图片描述
  4.4 开启之后,在浏览器输入“http://127.0.0.1”,出现下图说明安装成功
在这里插入图片描述

5、本地部署

  5.1 安装wfastcgi,注意:使用管理员身份打开cmd

pip install wfastcgi

  5.2 启动wfastcgi

扫描二维码关注公众号,回复: 11579873 查看本文章
wfastcgi-enable

  5.3 把引号里面的路经复制保存
在这里插入图片描述

  5.4 在Django项目的根目录新建web.config配置文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="c:\software\python3.7\python.exe|c:\software\python3.7\lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
            </handlers>
        </system.webServer>
        <appSettings>
            <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
            <add key="PYTHONPATH" value="C:\Software\PythonProject\test02\test02" />
            <add key="DJANGO_SETTINGS_MODULE" value="test02.settings" />
        </appSettings>
    </configuration>

  注意:直接按照我的复制即可,但下面三个需要修改
  ①:scriptProcessor修改为上一步复制保存的路经,添加即可
  ②:PYTHONPATH修改为项目的路经,这里注意要添加到有settings.py那个文件的目录
  ③:DJANGO_SETTING_MODULE修改为:项目名.settings

  5.5 在Django项目的settings.py中将ALLOWED_HOSTS修改为如下:

ALLOWED_HOSTS = ['*']

  5.6 在控制面板搜索“管理工具”打开

在这里插入图片描述
  5.7 选择第二个打开
在这里插入图片描述
  5.8 在主界面“网站”右键“添加网站”
在这里插入图片描述
  5.9 在主界面“网站”右键“添加网站”,打开之后之需要修改三个地方,第一个是网站名称,第二个是Django项目路经,最外层路径即可,最后端口随便填一个,我这里使用8080,然后点击确定
在这里插入图片描述
  5.10 单击创建好的网站,选择“目录浏览”->“打开功能”
在这里插入图片描述
  5.11 选择“启用”
在这里插入图片描述
  5.12 这里配置我们的静态资源目录,使图片等正常显示,首先在Django项目static下面新建web.config,输入如下内容

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
      <!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
      <handlers>
        <clear/>
   <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
     </handlers>
   </system.webServer>
</configuration>

  5.13 然后在IIS右键这个网站,点击“添加虚拟目录”,别名和static名称一致,物理路经就是上面web.config的目录路经
在这里插入图片描述
  5.14 到此位置本地部署已经完成,我们来看一下效果,右键刚刚新建的网站,选择“管理网站”->“浏览”
在这里插入图片描述
  5.15 出现下图说明本地部署完成。但是外网还不能访问此网站,那么我们就需要内网穿透,让外网可以访问,具体看下面。
在这里插入图片描述

6、外网访问(内网穿透)

  6.1 访问这个网站,注册帐号
在这里插入图片描述
  6.2 点击“个人中心”,进行“实名认证”后,选择“购买隧道”,选择免费即可
在这里插入图片描述

  6.3 点击“我的隧道”,将“authtoken”复制并记录
在这里插入图片描述
  6.4 然后下载客户端
在这里插入图片描述
  6.5 解压之后只有一个可执行文件,在这个目录我们新建config.ini,输入内容如下,别的都不需要修改,只需要把authtoken修改为你刚刚保存的即可,保存退出

#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= 这里输入刚才复制粘贴的authtoken        #对应一条隧道的authtoken
log=none                          #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR                    #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy=                       #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空

  6.7 打开natapp,复制保存红框部分
在这里插入图片描述
  6.8 使用另一台电脑(或者让你的朋友),打开刚才的红框的复制保存的链接,如下图,说明内网穿透成功
在这里插入图片描述

三、注意点

1、出现HTTP错误500.19-Internal Server Error
在这里插入图片描述
  解决方法:打开cmd,依次输入像下面两个命令

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

2、出现400错误
  解决方法:找到创建的网站,右键->编辑权限,给IIS用户添加修改和写入权限即可
在这里插入图片描述
3、出现HTTP错误500.0-Internal Server Error
在这里插入图片描述
  解决方法:代码出错,先用下面命令在Pycharm的cmd下跑一下项目

python manage.py runserver

四、总结

  整体步骤并不复杂,知识细节需要把握,我只是用Django简单的做一下演示,如果有多个app配置方法和上面一样,因为我个人不太喜欢字太多的教程,所以请各位读者一定要注意我写字的地方,都是需要注意的小细节,整篇教程完毕,如有问题联系我即可

猜你喜欢

转载自blog.csdn.net/IronmanJay/article/details/107131897