在windows下部署flask-使用IIS+WFASTCGI+venv

说给自己的废话--本来之前的部署都是用apache 不论是在unix环境还是之前用Django的时候,但是公司的计算机Windows就是跟我作对吧 配置了一万年都部署不了,最后放弃了apache,反正性能都这样,转到IIS了。

我就不每个步骤都写出来了 可以参考以下两个链接进行基础的配置,我再进行一个补充说明

https://blog.51cto.com/alun51cto/2398143

https://www.cnblogs.com/liluping860122/p/9203908.html

配置完成之后 你会发现根本部署不成功,报错说你没有设置WSGI_HANDLER,而且大部分你搜索的教程都是这些个步骤,那么到底是为什么呢?我先说几个点

1.根据这个链接,里面说的很清楚,

在Windows计算机(包括Azure上的Windows虚拟机)上将Internet Information Services(IIS)用作Web服务器时,Python应用程序必须在其web.config文件中包含特定设置,以便IIS可以正确处理Python代码。计算机本身也必须已安装Python以及网络应用所需的所有软件包。

应用程序的web.config文件指示Windows上运行的IIS(7+)Web服务器如何通过HttpPlatform(推荐)或FastCGI处理Python请求。Visual Studio版本2015和更早版本会自动进行这些修改。使用Visual Studio 2017及更高版本时,必须手动修改web.config

当然我本人是没有使用VS开发网页的,但是我确实在我的项目根目录里发现了web.config这个文件(如果没有的话,就自己创建一个吧)里面有我的python地址、wfastcgi文件地址,也就是在添加模块映射时里面写的那个,但是我之前设置好的wsgi_handler和pythonpath都没有,应该也是它不会自动设置的原因,我粘贴了下面这一段,终于成功部署我的网页了【鼓掌

     
        
        
    

然后在我解决这个问题之后,我发现有个教程就有提到过需要自己创建app.config,为什么我卡住的时候没有发现呢【掀桌

2.当你使用虚拟环境的时候,只需要把模块映射那里指向你虚拟环境中的python.exe就可以了

3.如果你是用create_app()来创建app,那么在WSGI_HANDLER这里设置为yourapp.create_app()就可以了

4.可能出现的权限问题,在这个教程里拉到下面,有个配置IUSER权限的,配置完就可以了

 

好了 我卡了这么多天终于成功了hh我真棒

你可能感兴趣的:(小白练功中)