用HttpPlatformHandler替代wfastcgi,在IIS上部署python web应用

补充:请注意,以下这个配置并不适合用在生产环境,因为它启动的是开发环境的简易服务器,要用在生产环境还是需要配合HttpPlatformHandler + waitress (因为Gunicorn 和 uwsgi 不支持windows)

arguments="manage.py runserver %HTTP_PLATFORM_PORT%"

微软官方提示建议使用 HttpPlatform 配置应用,因为他们不再维护 WFastCGI 项目 了。

首先下载并安装HttpPlatformHandler  https://www.iis.net/downloads/microsoft/httpplatformhandler

然后直接把以下web.config复制保存到网站根目录

<?xml version="1.0" encoding="UTF-8"?>  
<configuration>  
 <system.webServer>

  <handlers>
    <add name="httpPlatformHandler" path="*" verb="*"
               modules="httpPlatformHandler" resourceType="Unspecified"/>
  </handlers>

  <httpPlatform processPath="D:\http\asp\www_mysite\venv\Scripts\python.exe" arguments="
### 如何在 IIS 上配置和部署 Python Web 应用程序 #### 1. 安装必要的组件 为了使 IIS 能够支持 Python Web 应用程序,需要先安装一些必备的组件。这包括确保 IIS 已经启用 CGI 功能以及可能需要用到的其他扩展模块。 - **启用 CGI 支持** 打开 Windows 的“控制面板”,进入“程序和功能”下的“启用或关闭 Windows 功能”。找到 Internet Information Services (IIS),并展开其子项。确认已勾选 “World Wide Web 服务 -> 应用程序开发功能 -> CGI”。 - **安装 HttpPlatformHandlerwfastcgi** 如果计划使用 `HttpPlatformHandler` 来替代传统的 `wfastcgi` 方法,则可以通过 Microsoft 提供的相关文档来完成设置[^1]。对于 Django 和 Flask 等框架的应用,也可以考虑继续沿用 `wfastcgi` 方案[^2][^4]。 #### 2. 创建 Python Web 应用项目 无论是采用 Flask 还是 Django 框架构建应用,都需要遵循 WSGI 接口标准以便于与 IIS 结合工作。以下是两种常见框架的具体操作: ##### 使用 Flask 构建简单示例 假设有一个名为 `hello.py` 的文件,其中定义了一个基本的 Flask 应用: ```python from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "Hello, world!" if __name__ == '__main__': app.run() ``` ##### 设置环境变量 当利用 `wfastcgi` 实现连接时,需设定特定的环境变量指向该脚本及其内部对象的位置: - `PYTHONPATH`: 设定为存储上述 `hello.py` 文件的实际目录路径。 - `WSGI_HANDLER`: 值应设成类似于 `hello.app` 形式的字符串形式表示法,这里指的是位于 `hello.py` 中由 `Flask()` 初始化出来的实例名称即 `app` 变量名。 #### 3. 配置 IIS 站点 接下来是在 IIS Manager 中执行具体的站点创建流程及相关参数调整过程: - 启动 IIS Management Console (`inetmgr`) 并新建一个网站实体或者修改现有默认网站属性。 - 将物理路径映射至存放您的 Python 应用源码所在的本地磁盘位置。 - 添加处理程序映射条目关联 `.py` 类型请求到对应的 FastCGI 或者 HTTP Platform Handler 外部进程调用机制之上[^3]. #### 4. 测试访问效果 最后一步便是验证整个架构搭建成果是否正常运作——尝试通过浏览器输入相应 URL 地址查看页面响应情况;如果一切顺利的话应该能够看到预期输出内容比如前面提到过的 Hello Message! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值