IIS部署Flask

news2024/11/18 1:39:07

启用 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.coloradmin.cn/o/1066562.html

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

相关文章

np.clip()函数用法

代码&#xff1a; import numpy as npdelta np.clip(1.2, a_min0, a_max1)print(delta) 结果&#xff1a;

防御安全第五次作业

1. 什么是数据认证&#xff0c;有什么作用&#xff0c;有哪些实现的技术手段&#xff1f; 数据认证是指保证数据的真实性、完整性和可信度&#xff0c;以确保数据不被篡改或伪造。其作用包括但不限于&#xff1a; 保护关键数据不被恶意篡改或损坏 提供数据来源的可靠性和安全性…

ToBeWritten之记录狩猎过程

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…

nodeJs 图片下载功能实现

const cheerio require("cheerio"); const axios require("axios"); const fs require("fs"); const request require("request"); const path require(path); // 图片存储位置 const fileImgUrl "./images/"; // 获取…

外部中断的基本操作

题目背景 定义一个 Working() 函数&#xff0c;使L1指示灯不断闪烁。将P32引脚定义成外部中断功能&#xff0c;按下S5按键就会产生外部中断触发信号&#xff0c;在中断响应函数中&#xff0c;点亮L8指示灯&#xff0c;延时较长一段时间后熄灭&#xff0c;该功能用两种方法实现…

ToBeWritten之评估数据质量

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…

BLIP-2小结

paper&#xff1a;BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 引用量&#xff1a;376&#xff08;截止2023-09&#xff09; motivation BLIPv2主要从模态对齐、高效训练两个方向对图文多模态预训练任务&…

Unity AI Sentis 基础教程

Unity AI Sentis基础教程 Unity AI Sentis基础教程Unity AI 内测资格申请Unity 项目Package Manager开始尝试模型下载识别图片完整代码代码搭载运行 射线绘画 URP&#xff08;扩展&#xff09;射线绘画脚本脚本搭载效果 Sentis 是 AI 模型的本地推理引擎&#xff0c;它利用最终…

漏洞扫描与利用

1.通过Kali对服务器场景server2003以半开放式不进行ping的扫描方式并配合a&#xff0c;要求扫描信息输出格式为xml文件格式&#xff0c;从生成扫描结果获取局域网&#xff08;例如172.16.101.0/24&#xff09;中存活靶机&#xff0c;以xml格式向指定文件输出信息&#xff08;使…

轻量级接口自动化测试框架

大致思路: jmeter完成接口脚本,Ant完成脚本执行并收集结果生成报告,最后利用jenkins完成脚本的自动集成运行. 环境安装: 1.jdk1.7 配置环境变量(参考前面的分页) 2.jmeter解压到本地,ant解压到本地 3.Ant解压到本地,并配置环境变量 ANT_HOME:D:\jmeter\apache-ant-1.9.6 P…

学习css 伪类:has

学习抖音&#xff1a; 渡一前端提薪课 首先我们看下:has(selector)是什么 匹配包含&#xff08;相对于 selector 的 :scope&#xff09;指定选择器的元素。可以认为 selector 的前面有一个看不见的 :scope 伪类。它的强大之处是&#xff0c;可以实现父选择器和前面兄弟选择器…

2023年最新问卷调查工具排行榜:揭秘实力榜单

问卷调查是从目标受众那里收集有价值的反馈和见解的有效方式。正确的调查问卷工具可以使问卷的创建、分发和分析变得更加容易和高效。在本文中&#xff0c;我们将问卷调查工具排行榜实力榜&#xff0c;为大家选择问卷平台的时候提供有价值的参考意见。 1、Zoho Survey Zoho S…

三分钟阿里云服务器全方位介绍(看一篇就够了)

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云百科aliyunbai…

经典文献阅读之--MapTR(环视车道线地图提取)

0. 简介 最近环视图像处理其实已经非常火了&#xff0c;最近地平线&华科则是提出了一种新的环视车道线地图提取工具。高清&#xff08;HD&#xff09;地图提供了驾驶场景丰富而精确的环境信息&#xff0c;是自动驾驶系统规划中基础且不可或缺的组成部分。《MapTR: Structu…

“益路同行”栏目专访 第06期—小星星关爱联盟创始人魏洁荣老师

中国善网在本届&#xff08;第十届&#xff09;慈展会上特别推出了《益路同行》采访栏目&#xff0c;《益路同行》栏目旨在寻觅公益之路上同行者的故事&#xff0c;挖掘公益更深层次的内涵&#xff0c;探索新时代公益发展道路。希望公益企业、人物、故事被更多人看到&#xff0…

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

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

2023/9/28 -- ARM

【内存读写指令】 int *p0X12345678 *p100;//向内存中写入数据 int a *p;//从内存读取 1.单寄存器内存读写指令 1.1 指令码以及功能 向内存中写&#xff1a; str:向内存中写一个字(4字节)的数据 strh:向内存写半个字&#xff08;2字节&#xff09;的数据 strb:向内存写一个字…

TS中Class类的继承

我们有下面一个代码&#xff0c;其中创建了一个Dog类和Cat类&#xff0c;这两个类中都有姓名和年龄属性和bark方法 class Dog {name: string;age: number;constructor(name: string, age: number) {this.name name;this.age age;}bark() {console.log(this.name "汪汪…

温故 Spring5 特性

一、前言 随着技术的不断发展&#xff0c;Spring框架也在不断地更新迭代。我们将温故Spring 5的特性&#xff0c;并探讨如何在实际项目中应用这些特性来提升开发效率和系统性能。 Spring 5是Spring框架的一个重要版本&#xff0c;它带来了许多新特性&#xff0c;包括对Java 8…

Eclipse iceoryx(千字自传)

1 在固定时间内实现无任何限制的数据传输 在汽车automotive、机器人robotics和游戏gaming等领域,必须在系统的不同部分之间传输大量数据。使用Linux等操作系统时,必须使用进程间通信(IPC)机制传输数据。Eclipse iceoryx是一种中间件,它使用零拷贝Zero-Copy、共享内存Share…