WindowsIIS
服务器下运行。Python3.6 + Flask +MongDB
,现在所有客户的服务器也是 Windows 下跑的。所以也想在WindowsIIS
上搭建FLask
环境,但是 WSGI 好像对 IIS 不太友好。什么fastCGI
,UWSGI
之类的。Flask,WSGI
环境,来给点建议,谢谢 1
uqf0663 2019-02-28 17:33:25 +08:00 1
难道不是应该 IIS 直接反代 Python 自己的 http 服务吗?
|
2
Patrick95 2019-02-28 17:33:58 +08:00 1
没在 IIS 试过。
以前用 Apache + mod_wsgi 搭过。 |
5
tomczhen 2019-02-28 18:48:32 +08:00 via Android
给公司做小项目时部署过,用 wfastcgi,微软出品。
|
6
tomczhen 2019-02-28 18:57:59 +08:00 via Android 1
另外说一下,flask 自带的 Web server 别用在生产环节,直接反代虽然可行但不可取。
|
7
sunhk25 OP @tomczhen 原来还有 wfastcgi。
下面这个博客看起来不错可以参考。 使用 wfastcgi 在 IIS 上部署 Python Flask 应用 https://liulixiang1988.github.io/shi-yong-wfastcgizai-iisshang-bu-shu-python-flaskying-yong.html |
8
dongxiaozhuo 2019-03-01 10:21:16 +08:00 via iPhone
先想想为什么要用 WSGI 或者其他 CGI。如果没有那么的必要,可以用 gevent 或者 gunicorn 直接启动为 HTTP 服务。在此之前是不是有必要用 IIS,看你自己的产品或者程序的运行情况。比如 IIS 还要处理前端。
|
9
xpresslink 2019-03-01 11:09:45 +08:00
@dongxiaozhuo 请教一下,不用 WSGI 用什么? gunicorn 和 gevent 怎么在 windows 下跑?
|
10
sunhk25 OP @dongxiaozhuo 我的情况是前提下必须是 Windows,然后最理想的是继续用 IIS 服务器
|
11
dongxiaozhuo 2019-03-01 11:51:49 +08:00 via iPhone 1
@sunhk25 是我手残,Windows 下不能 gunicorn,gevent 也不那么好用,更不要提 uwsgi 了。或许你可以参考一下 stack overflow 上老哥们的意见,https://stackoverflow.com/questions/6823316/python-on-iis-how
大概越过 IIS 直接用 Python 做 HTTP 服务更好一些。 |
12
dongxiaozhuo 2019-03-01 11:52:41 +08:00 via iPhone
@xpresslink 我手残了,Windows 下别用这些依赖来搞了,直接 Python 启 HTTP 服务更好。
|
13
dongxiaozhuo 2019-03-01 11:55:29 +08:00
或者 Windows Server 上启动一个 Linux 虚拟机来运行 Flask 应用。(如果 Windows Server 已经是虚拟机,不能嵌套虚拟化,还是算了。
|
14
xpresslink 2019-03-01 14:24:44 +08:00 1
哥给你说一下吧,当年也被这事儿折腾的够呛。
如果不太要求性能,最省事的方案就是把 IIS 停了服务, 直接安装一个绿色 Apache 然后用 Mod_WSGI 这个网上可以找到编译好的插件直接放 apache 目录里面, 设置一下 load module 就可以用了。这方案比较老旧,性能低,但是配置非常省事,全是绿色的。 百度 Windows+Apache+mod_wsgi+Flask 和这个类似的也有用 nginx FastCGI 的方案,因为 windows 没有 epoll 只能用 select,所以 nginx 的 windows 版也是打个酱油而已。 百度 Windows 下 nginx+django+flup 搭建与配置 还有一个方案是用 IIS,wFastCGI 官方 https://docs.microsoft.com/en-us/iis/configuration/system.webServer/fastCgi/application/ https://www.cnblogs.com/xiaolecn/p/5111076.html 其实历史上还有个很 B 的东西叫 HiconZoo http://www.helicontech.com/articles/running-django-on-windows-with-performance-tests/ 但是这折腾起来有点小复杂,建议不要弄了。 |
15
chengxiao 2019-03-01 21:30:23 +08:00
这个用 docker 来跑不是更好么?
|