资讯专栏INFORMATION COLUMN

在Windows平台使用IIS部署Flask网站

lifefriend_007 / 2933人阅读

摘要:在平台部署基于的网站是一件非常折腾的事情,平台下有很多选择,本文记录了部署到的主要步骤,希望对你有所帮助。下载后运行,搜索,分别安装。使用命令可以将其移除。在中你可以使用来快捷开发并部署程序,真正让你一键无忧。

在 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,如下图。

安装 URL 重写组件

IIS 需要安装 URL 重写组件,这个可以通过Microsoft Web Platform Installer来安装。下载Microsoft Web Platform Installer后运行,搜索url,分别安装。

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

安装 wfastcgi

通过pip就可以安装:

pip install wfastcgi
启用 wfastcgi

剩下的事情就只有一些配置了。首先以管理员身份运行wfastcgi-enable来在IIS上启用wfastcgi,这个命令位于c:python_dirscripts,也就是你需要确保此目录在系统的PATH里,或者你需要cd到这个目录后再执行。

# cd to python_dirscripts if it is not in PATH
wfastcgi-enable

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

C:Python34Scripts> wfastcgi-enable
Applied configuration changes to section "system.webServer/fastCgi" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
"C:Python34python.exe|C:Python34libsite-packageswfastcgi.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 AUTHORITYIUSR:(OI)(CI)(RX)"
icacls . /grant "BuiltinIIS_IUSRS:(OI)(CI)(RX)"
创建并访问你的网站

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

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

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

简单总结

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

最后的惊喜

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

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

参考链接

http://stackoverflow.com/ques...

http://stackoverflow.com/ques...

http://blog.csdn.net/firefox1...

http://www.cnblogs.com/liulix...

http://www.cnblogs.com/xiaole...

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/60908.html

相关文章

  • Windows平台使用IIS部署Flask网站

    摘要:在平台部署基于的网站是一件非常折腾的事情,平台下有很多选择,本文记录了部署到的主要步骤,希望对你有所帮助。下载后运行,搜索,分别安装。使用命令可以将其移除。在中你可以使用来快捷开发并部署程序,真正让你一键无忧。 在 Windows 平台部署基于 Python 的网站是一件非常折腾的事情,Linux/Unix 平台下有很多选择,本文记录了 Flask 部署到 IIS 的主要步骤,希望对你...

    2bdenny 评论0 收藏0
  • 主机管理系统-五大免费主机管理系统分享

    摘要:在服务器运维过程中,主机管理系统有着极其重要的作用,不仅能减轻管理员的工作量加强规范化管理,优秀的主机系统还能提升服务器安全。三点虚拟主机管理系统点虚拟主机管理系统的特点,该软件采用语言及等脚本语言编写。在服务器运维过程中,主机管理系统有着极其重要的作用,不仅能减轻管理员的工作量、加强规范化管理,优秀的主机系统还能提升服务器安全。虽然现在国内有不少收费版主机系统,但是对于需要有主机管理系统而...

    Tony 评论0 收藏0
  • 主机管理系统-五大免费主机管理系统分享

    摘要:主机管理系统五大免费主机管理系统分享在服务器运维过程中,主机管理系统有着极其重要的作用,不仅能减轻管理员的工作量加强规范化管理,优秀的主机系统还能提升服务器安全。主机管理系统-五大免费主机管理系统分享在服务器运维过程中,主机管理系统有着极其重要的作用,不仅能减轻管理员的工作量、加强规范化管理,优秀的主机系统还能提升服务器安全。虽然现在国内有不少收费版主机系统,但是对于需要有主机管理系统而要求...

    crossea 评论0 收藏0
  • 命令行开启windows下的iis信息服务,开启及配置http端口,开启及配置ftp端口

    摘要:开启信息服务查询服务是否开启上面这个命令还会返回各个服务的服务名,可选择添加。 在项目安装部署的时候,需要开一个ftp端口用来让前端设备上传视频文件,及开一个8081的http端口让网页浏览器播放视频,虽然配置没有几步,但还是希望能够简化安装过程,准备写一个bat文件然后一键完成部署。 windows server 2008 r2 开启iis信息服务 servermanagercmd ...

    fengxiuping 评论0 收藏0
  • 命令行开启windows下的iis信息服务,开启及配置http端口,开启及配置ftp端口

    摘要:开启信息服务查询服务是否开启上面这个命令还会返回各个服务的服务名,可选择添加。 在项目安装部署的时候,需要开一个ftp端口用来让前端设备上传视频文件,及开一个8081的http端口让网页浏览器播放视频,虽然配置没有几步,但还是希望能够简化安装过程,准备写一个bat文件然后一键完成部署。 windows server 2008 r2 开启iis信息服务 servermanagercmd ...

    hyuan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<