IIS部署Flask

启用 CGI

在这里插入图片描述

安装wfastcgi

pip install wfastcgi

启用 wfastcgi

首先以管理员身份运行wfastcgi-enable来在IIS上启用wfastcgi,这个命令位于c:\python_dir\scripts,也就是你需要确保此目录在系统的PATH里,或者你需要cd到这个目录后再执行。

# cd to python_dir\scripts if it is not in PATH

wfastcgi-enable

记住命令执行成功后返回的信息:

C:\Python34\Scripts> wfastcgi-enable

Applied configuration changes to section “system.webServer/fastCgi” for “MACHINE/WEBROOT/APPHOST” at configuration commit path “MACHINE/WEBROOT/APPHOST”

“C:\Python34\python.exe|C:\Python34\lib\site-packages\wfastcgi.py” can now be used as a FastCGI script processor

“C:Python34python.exe|C:Python34libsite-packageswfastcgi.py” 在下文的配置文件中需要使用。

Tips: 使用命令 wfastcgi-disable 可以将其移除。

创建 web.config 文件

下面是一个web.config文件的例子,你只需要修改对应部分就可以使用。

<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><handlers><!-- scriptProcessor 的值来自命令行工具 wfastcgi-enable --><add name="FlaskFastCGI"  path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python34\python.exe|C:\Python34\lib\site-packages\wfastcgi.py"resourceType="Unspecified" requireAccess="Script" /></handlers><security> <!-- URL 重写中的特殊字符,比如加号+等等 --><requestFiltering allowDoubleEscaping="true"></requestFiltering> </security> </system.webServer><appSettings><!-- Required settings --><!-- 在这里指定Falsk app在模块中的具体位置(hello.py) --><add key="WSGI_HANDLER" value="hello.app" /><add key="PYTHONPATH" value="~/" /><!-- Optional settings --><!-- 需要先创建日志目录,否则报错 --><add key="WSGI_LOG" value="C:\logs\oboeqa_web.log" /><add key="WSGI_RESTART_FILE_REGEX" value="" /></appSettings>
</configuration>

IIS 创建站点(方法同asp.net站点部署相同)

添加映射模块

选择站点下的映射模块

在这里插入图片描述

在这里插入图片描述

模块必须选择FastCgiModule

可执行程序选择wfastcgi-enable输出的路径

在这里插入图片描述

去掉映射下的复选框

保存后会在web.config中增加一条新的handlers记录,把原来的删掉就可以

注意事项:

在II8.0及以上版本会出现权限问题,需要修改应用程序池的标识为 localSystem

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/96646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVC架构和DDD架构的区别?

前言 最近在学习一个开源社区项目&#xff0c;第一次听说了DDD项目架构&#xff0c;于是通过搜索之后来分享给大家 正文 当涉及到软件架构时&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;和DDD&#xff08;Domain-Driven Design&#xff09;是两种常见的设…

cpp primer plus笔记07-内存模型和命名空间

对于相同变量名的变量&#xff0c;CPP会覆盖作用域大的变量&#xff0c;而使用作用域小的变量&#xff0c;如果想在函数体内使用全局的变量可以在变量名前加上::加以区分&#xff0c;比如warm3会使得局部的warm变量等于3&#xff0c;而::warm3会使得全局的warm3 。 存储描述持…

rpm安装mysql8后碰到的问题

1 mysqld 无法启动 原因 已经使用了3306端口&#xff0c;修改my.cnf中端口为3308 2 修改为3308端口后&#xff0c;还是无法启动&#xff0c; 2023-10-07T02:20:10.096689Z 0 [ERROR] [MY-010262] [Server] Cant start server: Bind on TCP/IP port: Permission denied 2023…

Node-RED系列教程-25node-red获取天气

安装节点:node-red-contrib-weather 节点图标如下: 使用说明:node-red-contrib-weather (node) - Node-RED 流程图中填写经度和纬度即可。 演示: json内容: {

Linux服务器报错“No space left on device”如何解决

一、错误的含义&#xff0c;说明在服务器设备上的存储空间已经满了&#xff0c;不能再上传或者新建文件夹或者文件等。 二、确认查看服务器系统的磁盘使用情况是否是真的已经没有剩余空间&#xff0c;复制下面命令在服务器上运行&#xff0c;然后发现如果如下图所示那么表明sda…

ViewConfiguration

包含 UI 中用于超时、大小和距离的标准常量的方法。 官址链接&#xff1a;https://developer.android.google.cn/reference/kotlin/android/view/ViewConfiguration?hlen 比如获取屏幕边缘的距离&#xff1a; val config ViewConfiguration.get(context) val edgeSlop con…

Sharding-JDBC(十)如何解决根据ID更新时扫描全部分表

目录 一、问题描述二、问题解决1.场景一&#xff1a;同一事务中&#xff0c;新增并更新1.1 解决方案&#xff1a; 2.场景二&#xff1a;不同事务中&#xff0c;新增后更新场景2.1 解决方案&#xff1a; 一、问题描述 我们在使用 ShardingJDBC 作为分片工具的时候&#xff0c;会…

代码随想录算法训练营第23期day14|二叉树层序遍历、226.翻转二叉树、101. 对称二叉树

目录 一、二叉树层序遍历 非递归法 递归法 相关题目&#xff08;10题&#xff09; 二、&#xff08;leetcode 226&#xff09;翻转二叉树 递归法 层序遍历 深度优先遍历 1&#xff09;非统一写法——前序遍历 2&#xff09; 统一写法——前序遍历 三、&#xff08;le…

04_数据库

1 Web架构 web总共分为三个部分&#xff1a; 客户端服务器数据库 web网站访问过程&#xff1a; 客户端向服务器发送请求服务器操作数据库数据库将结果返回给服务器服务器将结果响应给客户端 2 数据库概念 数据库&#xff08;Database&#xff09; 数据库是按照数据结构来…

软件测试/测试开发丨App自动化测试-弹窗异常处理

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/27692 黑名单处理 运行过程中不定时弹框&#xff08;广告弹窗&#xff0c;升级提示框&#xff0c;新消息提示框等等&#xff09; 弹框不是 BUG&#xff0…

docker数据管理和网络通信

docker数据管理 管理 Docker 容器中数据主要有两种方式&#xff1a; 数据卷&#xff08;Data Volumes&#xff09;和数据卷容器&#xff08;DataVolumes Containers&#xff09;。 1&#xff0e;数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机…

测试工程师思维学习

一、测试工程师应具备什么思维&#xff1f; 透过现象看本质&#xff0c;拒绝“一叶障目” 01、质疑和系统思维 02、创新思维 03、全局思维 04、风险驱动和组合思维 05、用户为中心和比较思维 06、BT思维和架构扩展性思维 二、测试工程师应避免的思维 01、同化现象 02、定位效…

数据结构-----二叉排序树

目录 前言 1.什么是二叉排序树 2.如何构建二叉排序树 3.二叉排序树的操作 3.1定义节点储存方式 3.2插入节点操作 3.2创建二叉排序树 3.4遍历输出&#xff08;中序遍历&#xff09; 3.5数据查找操作 3.6获取最大值和最小值 3.7删除节点操作 3.8销毁二叉排序树 4.完…

AdaBoost(上):数据分析 | 数据挖掘 | 十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

Zookeeper经典应用场景实战(二)

文章目录 1、 Zookeeper 分布式锁实战1.1、 什么是分布式锁1.2、 基于数据库设计思路1.3、 基于Zookeeper设计思路一1.4、 基于Zookeeper设计思路二 1、 Zookeeper 分布式锁实战 1.1、 什么是分布式锁 在单体的应用开发场景中涉及并发同步的时候&#xff0c;大家往往采用Sync…

DRM全解析 —— CRTC详解(1)

本文参考以下博文&#xff1a; Linux内核4.14版本——drm框架分析(4)——crtc分析 特此致谢&#xff01; 1. 简介 CRTC实际上可以拆分为CRTC。CRT的中文意思是阴极摄像管&#xff0c;就是当初老电视上普遍使用的显像管&#xff08;老电视之所以都很厚&#xff0c;就是因为它…

【状态估计】将变压器和LSTM与卡尔曼滤波器结合到EM算法中进行状态估计(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

并发工具类库使用的常见问题

一、ThreadLocal在多线程环境中没有清理 由于ThreadLocal是和线程绑定的&#xff0c;如果线程被复用了&#xff0c;也即使用了线程池&#xff0c;那么ThreadLocal中的值是可能被复用的&#xff0c;这个特性如果是开发者没有预料到的&#xff0c;那么会产生很大的问题。例如&am…

人机言语交互模型的评估要素

智能客服中的言语交互模型评估要素&#xff0c;主要包括以下几个方面&#xff1a; 有效性&#xff1a;指模型能否准确识别和理解用户的言语意图&#xff0c;以及生成正确和合适的回答。可以通过比较模型生成的回答与人工回答的准确率来评估。流畅性&#xff1a;指模型在回答问…

【单调栈】下一个更大元素 II

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;单调栈循环数组 写在最后 Tag 【单调栈循环数组】【数组】 题目来源 503. 下一个更大元素 II 题目解读 在循环数组中找下一个更大的元素。循环数组指的是&#xff0c;数组的最后一个元素的下一个元素是数组首元素。 …