使用 IIS 在 Windows 上部署 Python Web 应用

2021-09-29 15:18:58 浏览数 (1)

虽然 Linux 受到了绝大多数互联网公司的青睐,但是 Windows 服务器在中小企业的服务器选择中依然还是首选。

一方面和日常使用的 Windows 操作系统的使用逻辑相似,上手很轻松;另一方面,其功能和性能,对于中小企业来说,完全够用,运维还相对简单。

最关键的是,图形化的界面,熟悉的操作逻辑,让没有经验的人也能快速完成。

在 MrDoc 交流群里,经常有朋友询问,如何在 Windows 上部署 MrDoc。

在 Windows 上部署像 MrDoc 这样典型的 Python Web 应用,主要有两种方式:

  • 一是通过 Apache 进行部署;
  • 二则是通过 IIS 进行部署;

关于通过 Apache 在 Windows 上部署 Python Web 应用程序的指南,州的先生之前已经分享过一篇文档:

使用 Apache 在 Windows 上部署 Python Web 应用

今天,我们来学习一下使用 IIS 在 Windows 上部署 Python Web 应用。

所需环境

  • Windows
  • Python3
  • IIS

准备源码

在这里我们使用 MrDoc 作为项目示例,所以首先需要将 MrDoc 的代码下载到本地并进行初始化:

代码语言:javascript复制
  1. # 使用 Git 工具克隆 MrDoc 源码
  2. git clone https://gitee.com/zmister/MrDoc/
  3. # 安装依赖模块
  4. pip install -r requirements.txt
  5. # 初始化数据库
  6. python manage.py migrate
  7. # 创建管理员用户
  8. python manage.py createsuperuser

安装wfastcgi

wfastcgi 是一个 Python 第三方库,它架起了一座 IIS 和 Python之间的桥梁,借助它,我们就可以通过 IIS 来部署 Python Web 应用程序了。

通过如下命令进行安装:

代码语言:javascript复制
  1. pip install wfastcgi

FastCGI设置

在 IIS 主页选择「FastCGI设置」:

点击「添加应用程序」:

在弹出的输入框内输入信息,其中「完整路径」是你使用的 Python 的路径,参数是 wfastcgi 库的路径:

例如:

接着设置环境变量:

新增名为「DJANGO_SETTINGS_MODULE」的环境变量,其值为 MrDoc.settings

新增名为「WSGI_HANDLER」的环境变量,其值为 MrDoc.wsgi.application

新增名为「PYTHONPATH」的环境变量,其值为 C:MrDoc

新建站点

点击「网站」,进入网站管理主页后点击「添加网站」:

按需输入网址名称,物理路径则为manage.py文件所在的路径。

添加程序映射

进入 MrDoc 站点主页,点击「处理程序映射」:

点击「添加模块映射」:

其中:请求路径填入*,模块选择「FastCgiModule」,可执行文件填入Python.exe路径|wfastcgi路径,例如:

代码语言:javascript复制
  1. C:UsersAdministratorAppDataLocalProgramsPythonPython37python.exe|C:UsersAdministratorAppDataLocalProgramsPythonPython37Libsite-packageswfastcgi.py

接着在「请求限制」中取消勾选:

最后

这样,我们的 Django 应用程序在 IIS 上就部署完成了。现在,你可以在浏览器上输入IP地址访问部署好的应用程序。

如果你需要绑定域名,可以编辑网站的「绑定」:

在其中设置主机名:

如果访问网站出现python.exe - FastCGI 进程意外退出的错误网页提示,那么可以「应用程序池」的程序高级设置中,将「标识」修改为LocalSystem:

0 人点赞