pythonweb服务器部署iis_IIS部署python Web(FLASK试例)

开发环境:python3.6 、win7、pycharm2017

1、安装及配置IIS

控制面板中>-程序和功能>-打开或关闭WINDOWS功能

配置Internet信息服务

5848c6f108a0b111c76fd850f6b5f69f.png

配置万维网服务

f323a7dd1ee5d2b40d1a916b68265fca.png

2472967ca7c9eebd8f51a2297289e4e8.png

2、安装URL重写组件

下载安装Web平台安装程序 5.0 (WEB PLATFORM INSTALLER 5.0)

安装URL Rewrite 2.0

6ec29b3d3b5daf4befaa9190c4190491.png

3、安装wfastcgi

pip install wfastcgi

4、启用wfastcgi

安装好的wfastcgi在D:\anaconda\Lib\site-packages路径下,在此路径中以管理员身份运行

wfastcgi-enable

正常应返回:

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

"D:\anaconda\python.exe|D:\anaconda\lib\site-packages\wfastcgi.py" can now be used as a FastCGI script processor

【报错处理】

1、若提示wfastcgi-enable权限不足,则使用管理员身份运行cmd 切换到对应文件夹执行wfastcgi-enable即可

2、若提示application对象确实必要属性或重复,则执行 wfastcgi-disable命令

5、创建FLASK并配置IIS 权限

f8db98ea5649c05ad8f15cc30cb56c93.png

将wfastcgi.py复制到WEB_FLASK文件夹中

在WEB_FLASK 文件夹中以管理员执行以下两条命令,使IIS用户拥有访问和执行你的网站脚本的权限

icacls . /grant "NT AUTHORITY\IUSR:(OI)(CI)(RX)"

icacls . /grant "Builtin\IIS_IUSRS:(OI)(CI)(RX)"

6、在IIS管理器中创建网站并添加映射

c0ba0120a91fc822f17bd186709a0bc0.png

进入网站控制台内的“处理程序映射”(不要在IIS控制台直接进入,不然创建的FastCGI会对所有网站生效)

添加模块映射

6530ab7d4fdcd2d96ac066ee583b76fd.png

返回IIS控制台,进入“FastCGI”设置,

7cb2f18c20b3b38c7b0e256a5210e881.png

添加环境变量

WSGI_HANDLER 对应Flask实例的位置,这里就是WEB_FLASK文件内的APP

PYTHONPATH为网站根目录

ca4863be8fe74adb70e2a20f1d67a011.png

214691dbabc991de8d605b4ece1a5db7.png

配置完成后重启IIS

浏览器测试:

284362eee792ebb6420c242e119ee812.png

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

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

相关文章

WPF开源框架项目

好久博客未更新新博文了,今天介绍一个WPF开源框架MaterialDesignInXamlToolkit废话不多说先让我们来看看框架得几张截图 让我们一起来看看源代码得结构如下图 接下我们运行代码看看运行后得截图 通过查看源代码, 由于是基于原生得状态进行修改样式及动画达到, 所以引…

rust房屋建造蓝图_都说蓝图,而不是白图、红图,你知道为什么?

文学上喜欢把对未来的构想或计划,称为蓝图。蓝图(英文:blueprint)在工业上指“蓝图纸”(晒图纸的俗称),因为图纸是蓝色的,所以被称为“蓝图”。也许是因其具有易于保存,不会模糊,不会掉色,不易玷…

洛谷P1085不高兴的津津

转载于:https://www.cnblogs.com/LITTLESUNwl/p/10417533.html

今天是个值得纪念的日子

今天对于我来讲真是个值得纪念的日子。博客这个词对于我来讲并不陌生,但真正和它亲密接触要算是今天了。以前在BlogChina、CSDN Blog等好几个大的博客站都注册了,但一直只是当收集好文章的工具箱,从来没有自己写过。今天是心血来潮&#xff0…

mysql中什么叫临时表_MySQL中使用临时表需要注意哪些?

1、临时表只在当前连接可见,当这个连接关闭的时候,会自动drop。这就意味着你可以在两个不同的连接里使用相同的临时表名,并且相互不会 冲突,或者使用 已经存在的表,但不是临时表的表名。(当这个临时表存在的时候&#…

Information worker

今天第一次听到了Information worker 这个词,很多人说.net 2.0中的很多新特性是为了Information worker 做的。体会一下,确实是这样。难道说Information worker作的东西不屑一顾?作为一个team,只有worker的效率提高了,整个team的…

2.【sheel学习】数组

sheel数组的部分操作 当我们需要使用一个指令,需要接收它返回的多个参数的时候这个时候就需要使用到数组 1:定义 declare -a array(1 2 3) 可以赋值多个参数,中间用空格隔开 2:数组值的获取 获取某个index的值:${array…

mysql添加新的实例_MySQL中添加新用户权限的实例详解

有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。下面的例子显示出如何使用MySQL客户安装新用户。这些例子假定权限根据以前的章节描述的缺省被安装。这意味着为了…

浏览器无法显示某些网页或者提示脚本错误的问题解决

1.访问某些网站提示脚本错误的问题 例:我在访问自己的MSN Space时浏览器总是提示脚本错误,而在别的机器访问却没有问题.显然时浏览器设置问题.如果安装有上网助手软件的话,最好卸载它.如果还不行,那就在Internet选项中,回复安全,隐私,高级的默认设置.删除所有cookie和文件. 2.有…

统计学习方法 学习笔记(五):支持向量机(下)

通过支持向量机(上)和支持向量机(中)的介绍,对支持向量机应该有点感性的认识啦!在这个学习笔记中,来继续探寻带核函数的支持向量机(解决如下图所示的问题) 对解线性分类问…

是先设计mysql表再进行php代码_PHP与RBAC设计思路,数据表设计与源码讲解

权限系统模块对于互联网产品是一个非常重要的功能,可以控制不同的角色合理的访问不同的资源从而达到安全访问的作用权限控制有哪些模型ACLRBAC 基于角色的访问控制从上图我们可以看出,ACL是用户和权限直接关系的,而RBAC则是通过角色间接关联用…

自动化测试模型

自动化测试模型可以看作自动化测试框架与工具设计的思想。自动化测试不仅仅是单纯写脚本运行就可以了,还需要考虑到如何使脚本运行效率提高,代码复用、参数化等问题。自动化测试模型分为四大类:线性模型、模块化驱动测试、数据驱动、关键字驱…

SQL实现split函数,自定义分割字符,自定义取出第几个分割字符前的字符串

自定义取出第几个分割字符前的字符串,默认位置(0)格式:dbo.split(字段名,分隔字符,取出的第几个字符串)如果没有分隔的字符,则返回整个字符串。如果取出的位置字符串的位置超出Index则返回空。CREATE FUNCTION [dbo].[…

mysql 开发 生产_在没有表锁定的情况下在巨大的MySQL生产表...

[2017]更新:MySQL 5.6支持在线索引更新In MySQL 5.6 and higher, the table remains available for read and write operations while the index is being created or dropped. The CREATE INDEX or DROP INDEX statement only finishes after all transactions tha…

ListView性能优化

ListView在ScrollView中无法正确计算它的大小, 故不能显示正常的条目。 解决办法有: 1.重写ListView, 覆盖onMeasure()方法。 1 public class WrapperListView extends ListView {2 public WrapperListView(Context context) {3 super(context);4 }…