虽然 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复制
# 使用 Git 工具克隆 MrDoc 源码
git clone https://gitee.com/zmister/MrDoc/
# 安装依赖模块
pip install -r requirements.txt
# 初始化数据库
python manage.py migrate
# 创建管理员用户
python manage.py createsuperuser
安装wfastcgi
wfastcgi 是一个 Python 第三方库,它架起了一座 IIS 和 Python之间的桥梁,借助它,我们就可以通过 IIS 来部署 Python Web 应用程序了。
通过如下命令进行安装:
代码语言:javascript复制
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路径
,例如:
C:UsersAdministratorAppDataLocalProgramsPythonPython37python.exe|C:UsersAdministratorAppDataLocalProgramsPythonPython37Libsite-packageswfastcgi.py
接着在「请求限制」中取消勾选:
最后
这样,我们的 Django 应用程序在 IIS 上就部署完成了。现在,你可以在浏览器上输入IP地址访问部署好的应用程序。
如果你需要绑定域名,可以编辑网站的「绑定」:
在其中设置主机名:
如果访问网站出现python.exe - FastCGI 进程意外退出
的错误网页提示,那么可以「应用程序池」的程序高级设置中,将「标识」修改为LocalSystem: