python部署到iis效率_在Windows平台使用IIS部署Flask网站

news/2024/5/9 14:16:17/文章来源:https://blog.csdn.net/weixin_39804523/article/details/113519481

在 Windows 平台部署基于 Python 的网站是一件非常折腾的事情,Linux/Unix 平台下有很多选择,本文记录了 Flask 部署到 IIS 的主要步骤,希望对你有所帮助。

涉及工具和平台

Windows 7 x64

Python 3.4+

Flask

完成 Hello Flask 网站

这是一个最简单的 Flask 网站:

# hello.py

from flask import Flask

app=Flask(__name__)

@app.route('/',methods=['GET'])

def index():

return "Hello Flask!"

if __name__=='__main__':

app.run(debug=True)

运行python hello.py后没有错误说明你的 Python 环境一切正常,可以继续后面的步骤。

安装 IIS,启用 CGI

在控制面板中找到打开或者关闭 Windows 功能,安装 IIS 和 CGI,如下图。

74057e788de6a51ab739264cc4c7d164.png

安装 URL 重写组件

42b969725cbf6942fc3ffc7f4dfaff51.png

注:据说 Windows10 上的 IIS 10 现在不支持 url 重写?待验证

安装 wfastcgi

通过pip就可以安装:

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文件的例子,你只需要修改对应部分就可以使用。

配置 IIS 目录及权限

假设你的 Flask 程序将部署在 C:websitehello 下面,那么你的目录结构大致如此。

C:\WEBSITE

└───hello

hello.py

web.config

现在你需要让IIS用户拥有访问和执行你的网站脚本的权限,进入 C:website 目录,执行下面两条命令:

cd C:\website

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

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

创建并访问你的网站

现在你离成功只差一步之遥,打开 IIS 管理面板,新建一个网站。

60568a3c99a81316cc73a38f362013a6.png

你只需要填上网站名称,物理地址和相应的端口号,点击确认。

45f02d9f49b028b5563b2fca9cccb1ae.png

打开浏览器,就可以访问你配置好的网站。如果有错误,可以去检查 web.config 中配置的日志文件。

21bd420c0cc874006e4f47d2cf75601f.png

简单总结

写完之后发现其实要完成的步骤并不是特别复杂,但是从摸索到实践的过程确实不易。本文仅讨论了部署的主要步骤,其实真正的生产环境你要考虑的问题可能更多,比如使用virtualenv 对网站进行隔离,安全问题,静态文件解析等等。

最后的惊喜

据说部署Python 网站到 IIS 还有更简单的办法,那就是安装宇宙最强的IDE - Visual Studio 2015 (VS2017 暂不支持 Python 开发),个人开发者可以免授权使用社区版。在 VS 中你可以使用 PTVS 来快捷开发并部署Python 程序,真正让你一键无忧。

3a8d195600c53d3a44ee1434ca8cf438.png

PTVS 支持了常见的 Python Web 框架,比如 Flask,Django,Bottle,Jade 等等,调试的时候只需要按 F5,部署右键选择 publish,跟着向导一步两步你就可以完成魔鬼的步伐。

参考链接

关于作者:Python技术爱好者,目前从事测试开发相关工作,转载请注明原文出处。

欢迎关注我的博客 https://betacat.online,你可以到我的公众号中去当吃瓜群众。

cc4b038e86ce0893cb397cc0a0c7f7fa.png

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

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

相关文章

细节也可以决定网站中交互设计的成败

细节也可以决定网站中交互设计的成败 2009年4月23日,外面的天气虽然是烟雨濛濛,但是在电子工业出版社博文视点公司的会议室里充满了阳光与热情,因为今天我们邀请到了《细节决定交互设计的成败》的作者 张亮老师给我们的团队进行了很好的交流&…

wordpress缓存插件使用提高网站速度

WordPress是世界上使用量最多的CMS,由于程序非常吃主机性能,正常情况下当页面被访问时,使用php和mysql。 因此,系统需要消耗RAM和CPU。 如果同一时间有大量访客访问,系统将使用大量的内存和CPU,所以页面加载…

常见的网站服务器架构有哪些?

1. 初始阶段的网站架构一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台…

通过图片优化,我将网站大小减少了62%

图片是Web提供的最基本的一种内容类型。人们都说一张图片胜过千言万语。但如果你一不小心,它也可能占用你好几兆带宽。 虽说Web图像应该尽可能清晰明快,但文件大小必须是可管理的,以便保持较快的加载速度,并且应该将数据使用保持在…

laravel 开发的双语网站_[扩展推荐] Laravue —— 漂亮的 Laravel 管理界面

文章转发自专业的Laravel开发者社区,原始链接:https://learnku.com/laravel/t/37417介绍几个月前我尝试为我的项目寻找新的解决方案, 我已经使用 Vue 构建了一个 单页应用 (使用这个 非常棒的框架, 使用 Laravel Lumen 作为 API 网关, 使用 Laravel Pass…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

一本专门解决网站可用性和易用性问题的实用书籍

本文选自《网站交互设计模式》一书前言。 4年前,我们在本书开始写到一个人发现了一条会说话的狗的故事。当问到那条狗说了什么时,那个人回答:“谁关心这个?它是一条会说话的狗啊!”在这件事情发生几年后,即…

监控器材律师网站制作_常规警用/安保器材工具分类

秦皇岛银盾提供专业常规保安器材及装备,常规安保器材工具的使用方法及使用教程,更多秦皇岛警用工具、秦皇岛安保器材相关资讯尽在秦皇岛银盾。 执法装备 単警装备 | 警用抓捕器 | 警用不锈钢叉 | 警棍 | 约束带 | 其他 | 警用数码录音取证系统 | 公安移动…

金融计算机去哪个网站找工作,海归金融硕士找工作应该选择哪个网站?

海归金融硕士在当下的就业市场之中还是非常吃香的,工资待遇也非常的不错。只不过给到海归金融硕士的岗位往往都属于高薪岗位,普通的求职网站之中很少有相应的岗位录入,即便有也是竞争激烈,且待遇配不上海归金融硕士的学历。而海归…

PHP网站的文章添加功能,给你的WordPress网站文章正文添加选项卡

插件作者网站的演示效果:http://tabbervilla.com/wordpress-post-tabs/上面的图片这样的正文选项卡切换功能,在介绍某一个产品时,可以把这个产品的功能、参数、演示和图片等等信息分门别类,让人能够非常清晰的将产品的信息展示在用…

网站隐藏index.php,iis隐藏index.php

iis隐藏index.php的方法:首先安装微软的URL Rewrite模块;然后查看url重写模块;接着点击导入规则;最后填入重写规则,并点击右侧“应用”提交即可。推荐:《PHP视频教程》该方法适用于所有品牌电脑。iis隐藏in…

云服务器网站logo,云服务器 logo

云服务器 logo 内容精选换一换云服务器组是对云服务器的一种逻辑划分,云服务器组中的弹性云服务器遵从同一策略。当前仅支持反亲和性,即同一云服务器组中的弹性云服务器分散地创建在不同的主机上,提高业务的可靠性。您可以使用云服务器组将业…

Esri在线视频网站上线!

Esri在线视频网站上线!地址为:http://video.esri.com 这里提供了一个更友好的互动环境,让大家了解GIS产业,行业活动和软件技术。 在这里你可以: 能够通过字幕导航,并且可下载字幕通过Esri ID登录&#xff0…

Esri在线视频网站上线!

Esri在线视频网站上线!地址为:http://video.esri.com 这里提供了一个更友好的互动环境,让大家了解GIS产业,行业活动和软件技术。 在这里你可以: 能够通过字幕导航,并且可下载字幕通过Esri ID登录&#xff0…

对搜狐、网易和TOM三大门户网站的SQL注入漏洞检测

对搜狐、网易和TOM三大门户网站的SQL注入漏洞检测 本文节选自《大中型网络入侵要案直击与防御》一书 此外,笔者对搜狐及TOM和网易这三大门户网站作了注入攻击检测,发现同样存在明显的注入漏洞,安全性很糟糕。 1.MySQL注入检测搜狐门户网站 …

Drupal是基于PHP语言编写的用于开发网站的开发型CMF

序 Drupal诞生于2000年,是一个基于PHP语言编写的用于开发网站的开发型CMF(内容管理框架)。Drupal强大的定制开发能力,也使其成为众多有技术实力的网站建设公司优先选用的网站开发平台。 任何网站建设公司自己开发的系统&#xf…

博文视点大讲堂41期-SEO难点之网站内部链接结构

博文视点大讲堂41期 SEO难点之网站内部链接结构 SEO是什么? 虽然这些年SEO概念普及了,但在很多人眼里,SEO和、欺骗是一回事儿。这是对SEO的极大误解。 SEO是个强有力的工具,能以很合理的方式进行,既照顾到用户需…

网站导航颜色停留_注重用户体验的网站建设+seo优化服务商--极度创想

如果我们坚持注重提升用户体验,把网站优化以提升用户体验为向导,那么网站优化的成效也便会水到渠成。一切还都应该在重视用户体验,提升用户使用体验的前提下而开展。所以做好网站对搜索引擎的优化并不意味着就一定要牺牲用户体验。​网站结构…

众多SEO专家集体盛赞

《SEO实战密码》将给你思路、眼界和方法的拓展之道。选一个适宜阅读的角落,一杯咖啡,一支笔,听Zac系统地讲SEO知识、见解和经验分享吧。我们都知道,你的竞争对手也会是Zac的粉丝。 葛小飞(天真)&#xff0…

博文视点大讲堂41期——SEO难点之网站内部链接结构 圆满成功

博文视点大讲堂41期——SEO难点之网站内部链接结构 圆满成功 2010年11月21日,电子工业出版社博文视点在中关村图书大厦五层如期举办了“博文视点大讲堂第41期:SEO难点之网站内部链接结构”,本次活动邀请经典畅销图书《网络营销实战密码》作者…