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

相关文章:
IIS部署Flask
启用 CGI 安装wfastcgi pip install wfastcgi 启用 wfastcgi 首先以管理员身份运行wfastcgi-enable来在IIS上启用wfastcgi,这个命令位于c:\python_dir\scripts,也就是你需要确保此目录在系统的PATH里,或者你需要cd到这个目录后再执行。 #…...
告警繁杂迷人眼,多源分析见月明
随着数字化浪潮的蓬勃兴起,网络安全问题日趋凸显,面对指数级增长的威胁和告警,传统的安全防御往往力不从心。网内业务逻辑不规范、安全设备技术不成熟都会导致安全设备触发告警。如何在海量众多安全告警中识别出真正的网络安全攻击事件成为安…...
【Python】概述
【Python】概述 特点 Python 是一种面向对象、解释性、弱类型(动态数据类型)的脚本语言(高级程序设计语言)。 由于Python是解释型语言,所以具有跨平台特性。 解释型语言: 这意味着开发过程中没有了编译…...
MySQL运维之日志管理
目录 一、日志 1.1错误日志 1.2二进制日志 1.2.1格式 1.2.2查看 1.2.3删除 1.3查询日志...
Yolov5 ONNX导出报错: export failure: Unsupported ONNX opset version: 17
目录 1.问题描述 1.1 报错1 : 1.2 报错 2 2.解决方案 介绍 ONNX(Open Neural Network Exchange)是一个用于机器学习模型的开放式标准,它旨在使不同的深度学习框架能够将训练好的模型在不同平台上无缝运行。它是由Microsoft和F…...
2023年全球市场儿科PICC导管总体规模、主要生产商、主要地区、产品和应用细分研究报告
内容摘要 按收入计,2022年全球儿科PICC导管收入大约 百万美元,预计2029年达到 百万美元,2023至2029期间,年复合增长率CAGR为 %。同时2022年全球儿科PICC导管销量大约 ,预计2029年将达到 。2022年中国市场规模大约为 百…...
Adler-32算法使用Neon优化
1、简单实现 下面代码是Adler-32算法的简单实现,我们来整理一下这段代码的逻辑: A = 1 + D1 + D2 + ... + Dn (mod 65521)B = (1 + D1) + (1 + D1 + D2) + ... + (1 + D1 + D2 + ... + Dn) (mod 65521)= nxD1 + (n-1) x D2 + (n-2) x D3 + ... + Dn + n (mod 65521)Adler-3…...
数据结构-----平衡二叉树
目录 前言 1.平衡二叉树 1.1概念与特点 1.2与二叉排序树比较 1.3判断平衡二叉树 2.平衡二叉树的构建 2.1平衡因子 BF 2.2 LL型失衡(右旋) 2.3 RR型失衡(左旋) 2.4 LR型失衡(先左旋再右旋) 2.5 RL…...
vue3 keepalive翻页保存页面状态
描述 实现页面 A-> B , B->A(A保存之前页面状态,不刷新页面) // router/index.tsimport { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vueconst router createRouter({h…...
测试工程师思维学习
一、测试工程师应具备什么思维? 透过现象看本质,拒绝“一叶障目” 01、质疑和系统思维 02、创新思维 03、全局思维 04、风险驱动和组合思维 05、用户为中心和比较思维 06、BT思维和架构扩展性思维 二、测试工程师应避免的思维 01、同化现象 02、定位效…...
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)
思维导图 一、正则表达式 1.1正则表达式介绍 1.2 语法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewpor…...
云硬盘和物理硬盘的区别
服务器的硬盘是服务器用来存储数据,一般有云硬盘和物理硬盘两种。云硬盘是云计算平台的虚拟技术的存储服务,将数据存储于云端通过分布式存储架构的形式。物理硬盘是将数据存储在服务器或者是PC端上,存储空间比较大,读写速度也很快…...
数据分析--观察数据处理异常值
引包: import pandas as pd import numpy as np 读取文件: dfpd.read_csv(./HR.csv) 文件见绑定资源(来自kaggle的HR.csv) 处理过程: 一、从df中拿出处理对象 二、找出缺失值的位置并删除 s1_sdf[satisfactio…...
vue3+elementPlus el-input的type=“number“时去除右边的上下箭头
改成 代码如下 <script lang"ts" setup> import {ref} from vue const inputBtn ref() </script> <template><el-input type"number" v-model"inputBtn" style"width: 80px;" class"no_number">…...
华为云云耀云服务器L实例评测|Elasticsearch的可视化Kibana工具安装 IK分词器的安装和使用
前言 最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。 本篇博客介绍Elasticsearch的可视化Kibana工具安装,以及IK分词器的安装和使用。 其他相关的Elasticsea…...
加密货币交易技巧——人和(一)
交易原则 本篇主要讲述加密货币交易人需要注意的几个原则。 1.不能贪心,具体表现在做好仓位管理。第一,不要重仓进去,一定要轻仓。第二,开仓就想好本次要赚多少钱,不要太贪,到了预期点就止盈。第三&am…...
数学建模:最优化问题及其求解概述
数学建模:最优化问题及其求解概述 最优化问题定义分类离散优化问题连续优化问题 求解 此博客围绕运筹学以及最优化理论的相关知识,通俗易懂地介绍了最优化问题的定义、分类以及求解算法。 最优化问题 定义 数学优化(Mathematical Optimiza…...
企业办理CS资质,怎么选择办理等级?
信息系统建设和服务能力等级证书(Information system construction and service—Capability assessment system,简称:CS),由中国电子信息行业联合会组织开展的第三方评估活动,是根据《信息系统建设和服务能…...
华为云云耀云服务器L实例评测|Huawei Cloud EulerOS 自动化环境部署
[toc] Huawei Cloud EulerOS 自动化环境部署 云耀云服务器L实例【Huawei Cloud EulerOS 2.0 64bit】 Python Git Google Chrome Chromedriver Selenium More… 1. Python 镜像创建后自带。 2.Git 拉取项目。 sudo yum install git3. Google Chrome 使用root权限或sudo权…...
从一张表格开始做挖机报价系统
一、前言 历时4个月的挖机销售报价系统进入收尾阶段,由我直接负责与业务方对接,这中间各种折腾真是一言难尽,项目开发过程中还要维护POS系统以及牛奶配送系统,本项目我们采用的是迭代开发,今天讲一下具体的开发过程以…...
Nix-on-Droid测试与部署最佳实践:确保您的移动环境稳定可靠
Nix-on-Droid测试与部署最佳实践:确保您的移动环境稳定可靠 【免费下载链接】nix-on-droid Nix-enabled environment for your Android device. [maintainerst184256,Gerschtli] 项目地址: https://gitcode.com/gh_mirrors/ni/nix-on-droid 想要在Android设…...
终极简单指南:如何用Seraphine英雄联盟助手快速提升排位胜率
终极简单指南:如何用Seraphine英雄联盟助手快速提升排位胜率 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 想象一下这样的场景:排位赛开始前,你正手忙脚乱地查询对手战绩…...
PromptHub:本地优先的提示词管理工具,提升AI应用开发效率
1. 项目概述与核心价值 最近在折腾AI应用开发,特别是基于大语言模型(LLM)的智能体(Agent)和自动化流程时,我发现一个普遍存在的痛点: 提示词(Prompt)的管理与复用 。无…...
基于Gemini CLI的深度研究工具:命令行AI助手的架构与实战
1. 项目概述:当命令行遇上深度研究如果你和我一样,是个常年泡在终端里的开发者或研究者,那么“allenhutchison/gemini-cli-deep-research”这个项目标题,光是扫一眼,就能让人心跳加速。它精准地戳中了我们这类人的两个…...
《魔兽世界》怀旧服:纳克萨玛斯教官拉苏维奥斯战术详解与实战心得
1. 教官拉苏维奥斯战斗机制解析 教官拉苏维奥斯作为纳克萨玛斯军事区的守门BOSS,其战斗核心在于学员控制循环与仇恨管理的双重考验。这个BOSS战最特别的地方在于,你需要同时应对教官本体的高伤害和四名学员的协同作战。很多团队第一次开荒时容易忽略学员…...
热门的牙齿矫正正畸李杨哪个好
在社交媒体上,关于“牙齿矫正哪家好”、“李杨医生靠谱吗”的讨论热度居高不下。许多粉丝在评论区留言,想知道这位在网络红人榜上经常出现的正畸专家,是否真的值得托付那长达一两年的矫正周期。作为一个长期关注口腔健康领域的观察者…...
基于CircuitPython与BLE构建多探头无线温度监测系统
1. 项目概述:一个无线温度监控的“瑞士军刀” 如果你和我一样,喜欢在周末慢烤一块牛排,或者沉迷于培养天然酵母做面包,那你一定理解同时盯着好几个温度计的烦恼。厨房里烟雾缭绕,烤箱里正烤着东西,发酵箱里…...
用STM32F103C8T6驱动Ra-01SC模组:从接线到收发数据的保姆级避坑指南
STM32F103C8T6与Ra-01SC模组实战:从硬件搭建到数据收发的完整解决方案 1. 项目准备与环境搭建 第一次接触LoRa通信时,我拿着两块Ra-01SC模组和STM32开发板,满心期待能快速实现无线数据传输。但现实很快给我上了一课——接线错误导致模组发热、…...
双碳目标下太阳辐射预报模式【WRF-SOLAR】模拟方法及改进技术在气象、农林生态、电力等相关领域中的实践应用
太阳能是一种清洁能源,合理有效开发太阳能资源对减少污染、保护环境以及应对气候变化和能源安全具有非常重要的实际意义,为了实现能源和环境的可持续发展,近年来世界各国都高度重视太阳能资源的开发利用;另外太阳辐射的光谱成分、…...
隔热型防火入户门 烟气阻隔密封构造原理
在高层住宅建筑消防设计体系中,防火入户门是分隔防火分区、阻断烟火蔓延的核心构件,其中隔热型防火入户门凭借优异的耐火性能与烟气阻隔能力,成为民用住宅工程的标配产品,其密封构造设计直接决定防火隔烟效果与消防验收合规性。隔…...
