windows servier2008+virtualenv下部署Flask (IIS+wfastcgi)
由于业务只有一台windows server2008的服务器,一般的nginx+uwsgi的部署方式不行,以下记录部署过程,本文参考自:https://www.cnblogs.com/xiaolecn/p/5111076.html
一、项目部署
1、服务器安装python3.6 : 根据自己系统位数下载安装: https://www.python.org/downloads/windows/
由于python3.6已经安装好了pip,所以剩下的工作就简单了。
2、安装virtualenv虚拟环境:
pip install virtualenv
3、创建虚拟环境:
virtualenv env_36
4、配置虚拟环境模块:先激活虚拟环境,然后安装项目需要的模块。
pip install -r requirements.txt
5、代码迁移,此处省略,然后在虚拟环境检查是否正常:
python manage.py runserver --host 0.0.0.0 --port 8000
注:如果检查正常说明项目这些都没问题了,下面可以进行IIS相关的配置。
二、IIS和wgastcgi配置
1、安装wfastcgi:
pip install wfastcgi
注:这里是全局安装,不是在虚拟环境安装。
2、在python3.6的安装目录: Lib/site-packages文件夹下,找到: wfastcgi.py 这个文件。如图:
把这个文件拷贝到你的项目根目录:如图
3、IIS添加应用:
3、在你的网站下面找到【处理程序映射】如图:双击打开:
4、添加模块映射: 大家注意图片中标注的第2条。(D:\Python\ENV\DEV_36\Scripts\python.exe|D:\Python\PRO\cms\wfastcgi.py) 前面部分为虚拟环境路径,| 号后面是项目里的wfastcig.py路径。
5、请求限制中把(映射下面的√去掉)
6、确认添加模块
7、这个时候你应该可以看见你的FlaskFastCGI程序了
8、回到IIS控制台,进入【FastCGI设置】如图:
9、双击打开你应该可以看见刚才添加的FastCGI:
10、双击,编辑 —【环境变量】
这里添加2个变量:
PYTHONPATH 值为: 项目路径:(如:D:\Python\PRO\cms)
WSGI_HANDLER 值为: 项目启动文件中的app,如图,因为我是通过manage启动。
11、回收应用程序池,重启IIS。
12、输入地址测试,不出问题应该是可以正常访问了。