V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jun4rui
V2EX  ›  Python

Windows 下应该用什么服务跑 Django?

  •  
  •   jun4rui · 2015-05-04 12:28:24 +08:00 · 6060 次点击
    这是一个创建于 3498 天前的主题,其中的信息可能已经有所发展或是发生改变。

    uWSGI和Gunicorn都不支持Windows(前者可以cygwin但是不好部署上去),请问还有啥方式吗?
    我Python只懂点皮毛,总不能用manage.py runserver跑吧? 求大神们指点迷津

    第 1 条附言  ·  2015-05-04 16:31:05 +08:00
    哎哟,我又蛋疼了,他们自己要开发一套大数据分析,结果他们的程序员只会java,又没啥见识,我说我想cnnic和baidu计数器一样每个页面嵌入个js发数据给你就好了,结果他说他要做成tomcat分析日志的方式,需要把新的页面包裹在tomcat容器内……

    所以还不能用nginx反向代理了,我擦~

    这整体架构被这公司爱从轮子发明的程序员把控着,我也是没办法了。
    31 条回复    2015-05-05 09:24:05 +08:00
    roricon
        1
    roricon  
       2015-05-04 12:33:51 +08:00   ❤️ 1
    clino
        2
    clino  
       2015-05-04 12:35:37 +08:00 via Android   ❤️ 1
    可以用 gevent 跑看看
    firefffffffffly
        3
    firefffffffffly  
       2015-05-04 12:38:57 +08:00   ❤️ 1
    Apache + mod_wsgi
    loading
        4
    loading  
       2015-05-04 12:41:53 +08:00 via Android   ❤️ 1
    也许你需要 nssm 配合干一些其他工作。
    kongkongyzt
        5
    kongkongyzt  
       2015-05-04 12:43:19 +08:00 via iPad
    Python在Windows下跑web简直是灾难。。。。。。。
    jun4rui
        6
    jun4rui  
    OP
       2015-05-04 12:51:55 +08:00
    @kongkongyzt 我就怕这个,其实我就是用来渲染后台的json数据到网页而已,如果实在是不太好,我准备改成nodejs算了,不过我真的喜欢Python的语法和库,nodejs我还是有点担心,毕竟没出来太久。
    loading
        7
    loading  
       2015-05-04 12:55:07 +08:00 via Android
    我只写了个一行的 bat 文件,直接 python app.py
    我用flask搞定了…静态文件还没用nginx…善哉善哉!

    我已在学 go……
    kiritoalex
        8
    kiritoalex  
       2015-05-04 12:56:38 +08:00 via Android
    你需要beautifulsoap一起用,也能做成爬虫
    tmqhliu
        9
    tmqhliu  
       2015-05-04 12:57:11 +08:00
    Hyper-V + Linux
    ericls
        10
    ericls  
       2015-05-04 12:58:00 +08:00
    同意楼上的 虚拟机装linux
    est
        11
    est  
       2015-05-04 13:00:13 +08:00
    IIS + FastCGI 官方推荐的方式。
    jun4rui
        12
    jun4rui  
    OP
       2015-05-04 13:00:38 +08:00
    我也是没办法,那破系统跑砸SQLServer2000!!!,还是用Java跑的Tomcat。所以不得不用Windows,所以我要用Nginx反向代理这个Tomcat再挂一个Python上去。
    geeklian
        13
    geeklian  
       2015-05-04 13:05:17 +08:00 via iPhone   ❤️ 1
    iis版本低,小于等于7,负载低,就用isapi_wsgi,一个django项目就是一个应用程序池,非常.net

    iis版本高,大于等于7,负载高,就用fastcgi
    可以连互联网的话,微软web框架里有个一键脚本是基于fastcgi的

    以上那个性能都远胜于什么windows下跑apache,nginx之类的。
    fastcgi的性能和linux下fastcgi性能差不多,但不如wsgi。
    lichun
        14
    lichun  
       2015-05-04 13:10:10 +08:00
    Windows 下就不应该跑 Django, 还是Hyper-v装个Linux吧
    geeklian
        15
    geeklian  
       2015-05-04 13:14:29 +08:00 via iPhone
    @jun4rui
    你的情况和我这一样。
    如果你要连接sql server,那么:
    千万不要考虑让你的python跑在linux下,linux下的odbc和sqlconnecter的坑,远比你django跑在windows下来得多。而且sql上的性能损失也比你任何方法iis跑django大一个数量级以上。
    elvis_w
        16
    elvis_w  
       2015-05-04 14:12:03 +08:00   ❤️ 1
    试试twisted web
    https://twistedmatrix.com/trac/wiki/TwistedWeb
    不过Windows下要用twisted,记得装pywin32
    Septembers
        17
    Septembers  
       2015-05-04 15:44:03 +08:00
    @geeklian Linux下pymssql性能不错
    jun4rui
        18
    jun4rui  
    OP
       2015-05-04 16:14:31 +08:00
    哎哟,我又蛋疼了,他们自己要开发一套大数据分析,结果他们的程序员只会java,又没啥见识,我说我想cnnic和baidu计数器一样每个页面嵌入个js发数据给你就好了,结果他说他要做成tomcat分析日志的方式,需要把新的页面包裹在tomcat容器内……

    所以还不能用nginx反向代理了,我擦~
    ikaros
        19
    ikaros  
       2015-05-04 16:26:07 +08:00
    @kiritoalex 你肥皂捡多了吧 → → 是Soup
    elvis_w
        20
    elvis_w  
       2015-05-04 16:36:56 +08:00
    @ikaros 23333
    prowayne
        21
    prowayne  
       2015-05-04 16:38:26 +08:00   ❤️ 2
    kiritoalex
        22
    kiritoalex  
       2015-05-04 16:39:05 +08:00 via Android
    @ikaros 恩,不小心打错了,233
    geeklian
        23
    geeklian  
       2015-05-04 18:52:57 +08:00 via iPhone
    @Septembers 我记得django没有连接pymssql的三方库吧。django-mssql是win32api的,linux只好用django-odbc,unixodbc,pymssql这么串起来,我这2013年测过一次,性能坑爹...

    自造轮子就再说了,我没那个水平啊
    Septembers
        24
    Septembers  
       2015-05-04 19:03:49 +08:00
    @jun4rui 用户行为分析 http://piwik.org/ 这系统不错
    kingname
        25
    kingname  
       2015-05-04 19:07:11 +08:00
    @kiritoalex beautifulsoup 太难用了,还是xpath好用。
    Septembers
        26
    Septembers  
       2015-05-04 19:13:22 +08:00
    @jun4rui
    1. 如果代码有CPython Only的代码的话
    有个不靠谱的想法 让TA们写个基于servlet的反代 代理你那个的django
    Google啦下这个似乎可以用 https://github.com/mitre/HTTP-Proxy-Servlet

    2. 如果代码没有CPython Only的话
    可以尝试下 https://docs.djangoproject.com/en/1.8/howto/jython/
    Septembers
        27
    Septembers  
       2015-05-04 19:30:39 +08:00
    @prowayne
    注意题主的背景环境中提对了 SQL Server 2000 换句话说
    题主的环境应该是Windows 2003或者Windows 2000

    http://www.helicontech.com/zoo/install.html
    提到的系统要求不支持不支持2003
    换句话说就是不支持题主的环境

    不过还是要感谢 我以前不知道有这个东西 有可以省事啦
    jun4rui
        28
    jun4rui  
    OP
       2015-05-04 20:10:17 +08:00
    @Septembers 谢谢,不过人家要做的类似淘宝会呈现最近用户关注的东西,自动化的,所以不能用这个
    fy
        29
    fy  
       2015-05-04 23:12:38 +08:00
    @jun4rui 看了楼主这段补充,瞬间有一种日狗的感觉。。这何止是nginx不能用啊
    jun4rui
        30
    jun4rui  
    OP
       2015-05-05 05:14:33 +08:00
    @fy 效率很低,连静态页面都要包到tomcat容器去。不过没办法,这个做Java的是关系户,上头有人
    ohhe
        31
    ohhe  
       2015-05-05 09:24:05 +08:00   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2788 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:46 · PVG 13:46 · LAX 21:46 · JFK 00:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.