如何在Windows Server 2019的IIS上部署Flask应用并配置依赖与启动命令?
在Windows Server 2019的IIS上部署Flask应用的配置方法
1. 前置环境准备
- 确保IIS已安装并启用CGI和FastCGI功能(通过服务器管理器的"添加角色和功能"完成)
- 安装Python,勾选「Add Python to PATH」,安装后通过命令提示符验证
python --version和pip --version可正常执行
2. 安装依赖与FastCGI工具
- 以管理员身份打开命令提示符,切换到你的Flask应用根目录
- 执行
pip install -r requirements.txt安装项目依赖 - 安装wfastcgi工具:
pip install wfastcgi,接着运行wfastcgi-enable启用FastCGI映射
3. 配置IIS站点
- 打开IIS管理器,创建新站点,将物理路径指向你的Flask应用根目录
- 新建一个无托管代码的应用程序池(.NET CLR版本选择「无托管代码」),将站点的应用程序池设置为这个新建的池
- 进入站点的「处理程序映射」,添加模块映射:
- 请求路径:
* - 模块:
FastCgiModule - 可执行文件:填写Python安装路径下的
python.exe和wfastcgi.py的组合路径,格式如C:\Python39\python.exe|C:\Python39\Lib\site-packages\wfastcgi.py(替换为你的实际Python版本路径) - 名称:自定义为「FlaskFastCGI」
- 请求路径:
4. 创建web.config配置启动入口
在应用根目录新建web.config文件,填入以下内容并替换对应路径和参数:
<configuration> <system.webServer> <handlers> <add name="FlaskFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\PythonXX\python.exe|C:\PythonXX\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" /> </handlers> </system.webServer> <appSettings> <!-- 替换为你的Flask实例路径:启动文件名.实例名 --> <add key="WSGI_HANDLER" value="app.app" /> <!-- 替换为你的应用根目录绝对路径 --> <add key="PYTHONPATH" value="C:\Projects\MyFlaskApp" /> <!-- 可选:日志输出路径 --> <add key="WSGI_LOG" value="C:\Projects\MyFlaskApp\wfastcgi.log" /> </appSettings> </configuration>
- 注意
WSGI_HANDLER的规则:如果启动文件是app.py,里面的Flask实例定义为app = Flask(__name__),则值为app.app;若启动文件是main.py,实例是flask_app = Flask(__name__),则填main.flask_app
5. 验证部署
- 重启IIS站点,访问站点URL确认应用正常运行
- 若出现错误,可查看
web.config中指定的日志文件,或通过IIS事件查看器排查问题
内容的提问来源于stack exchange,提问作者Chryzz
相关产品推荐
相关产品推荐

