在IIS中部署Flask应用

部署运行你感兴趣的模型镜像
  1. 安装“CGI”,打开控制面板,在“程序和功能”中点击“启用或关闭Windows功能”,在弹出的界面中选中“CGI”,点确定;
    在这里插入图片描述
  2. 安装"wfastcgi",使用命令:“pip install wfastcgi”,这样在Python环境里的Scripts文件夹下面就有了wfastcgi;
    在这里插入图片描述
  3. 启用“wfastcgi”,直接在上图中的Scripts文件夹下,用管理员身份打开命令窗口,执行“wfastcgi-enable.exe”程序。
    在这里插入图片描述
    执行完毕后,可以看到输出
已经在配置提交路径“MACHINE/WEBROOT/APPHOST”向“MACHINE/WEBROOT/APPHOST”的“system.webServer/fastCgi”节应用了配置更改"xxx\python.exe|xxx\lib\site-packages\wfastcgi.py" can now be used as a FastCGI script processor”

其中"xxx\python.exe|xxx\lib\site-packages\wfastcgi.py"非常重要,会用于后面的IIS配置中。xxx这里代表的是Python环境的本地路径;

  1. 在IIS中添加Flask应用,同正常的网站部署操作一样;
    在这里插入图片描述

  2. 点击Flask应用网站,在处理程序映射中,添加模块映射,参照如下的截图所示,有几点需要特别注意:
    a. 可执行文件的值就是步骤3中的“xxx\python.exe|xxx\lib\site-packages\wfastcgi.py”;
    b. 请求限制里映射面板中勾选框要取消选中;
    在这里插入图片描述
    在这里插入图片描述
    实际上,在这一步设置完毕后,会在Flask应用的根文件夹里自动生成一个web.config文件。

  3. 修改web.config文件,需要在appSettings节点里添加两个必需的参数“WSGI_HANDLER”和“PYTHONPATH”。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
       <!-- handlers在5步骤中配置好,IIS管理器生成,不要手工修改 -->
        <handlers>
            <add name="FlaskFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="xxx\python.exe|xxx\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" />
        </handlers>
    </system.webServer>
    <!-- appSettings节点需要手工添加 -->
    <appSettings>
        <!-- 2个必须要有的参数: 
        @WSGI_HANDLER:fastCGI获得请求后调用的flask应用入口。
        @PYTHONPATH: 执行整个应用的项目目录
        -->
        <add key="WSGI_HANDLER" value="Flask应用的启动对象" />
        <add key="PYTHONPATH" value="Flask应用的根目录" />
    </appSettings>
</configuration>

至此,启动Flask应用,正常情况下,在浏览器里就能够访问了。

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

IIS(Internet Information Services)是微软Windows操作系统下的Web服务器组件,而Flask是一个轻量级的Python Web框架。要在IIS部署Flask应用,你需要遵循以下步骤: 1. **安装必要的软件**: - 安装Python:确保你的系统上已经安装了最新版本的Python。 - 安装Flask:使用`pip install flask`命令安装Flask。 2. **创建Flask应用**: - 创建一个新的Python文件(如app.py),编写基本的Flask应用程序代码。 ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run() ``` 3. **配置WSGI**: - 使用WSGI(Web Server Gateway Interface)将Flask应用IIS结合。创建一个名为`wsgi.py`的文件,并添加以下内容: ```python from flask.wsgi import DispatcherMiddleware from your_flask_app import create_app application = create_app() application = DispatcherMiddleware(application, {"/": application}) ``` 4. **设置虚拟目录**: - 打开IIS管理器,右键点击网站 > 添加 > 新站点... 或者已有的虚拟目录。 - 指定应用程序池、物理路径到你的项目文件夹,然后选择`应用程序扩展`,添加`.py`作为支持的扩展名。 5. **连接WSGI**: - 配置IIS中的网站属性,找到“主脚本扩展”部分,添加`WSGI .NET 应用程序`,并指定`wsgi.py`的完整路径。 6. **启动和测试**: - 重启IIS应用池,通过浏览器访问`http://your-server-url/`,你应该能看到Flask应用运行的hello_world页面。 **相关问题--:** 1. IIS部署Flask需要注意哪些安全设置? 2. 如何处理IIS权限问题以便访问Flask应用? 3. 如果Flask应用需要数据库连接,如何在IIS中配置?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值