V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
plqws
V2EX  ›  问与答

为什么 node.js 可以直接用 nginx 反向代理而 python 要用 uwsgi?

  •  1
     
  •   plqws · 2015-08-21 22:32:15 +08:00 · 3326 次点击
    这是一个创建于 3382 天前的主题,其中的信息可能已经有所发展或是发生改变。
    从 node 开发转 python ,不过发现网上关于虚拟主机的解决方法不像 node 可以直接反向代理类似 php-fpm 那样,而 python 需要 wsgi 才行。这是为什么?
    node 似乎没有像 uwsgi 的东西,为什么?
    6 条回复    2015-09-12 23:28:25 +08:00
    raptium
        1
    raptium  
       2015-08-21 22:47:33 +08:00 via iPhone
    python 也有不走 wsgi 的框架,比如 tornado
    另外觉得 uwsgi 麻烦可以用 guincorn 部署,前面再加 nginx
    raptium
        2
    raptium  
       2015-08-21 22:48:21 +08:00 via iPhone
    gunicorn 手机 typo 了~
    ryd994
        3
    ryd994  
       2015-08-22 01:46:11 +08:00 via Android
    曾经也是有直接 HTTP 的和 fcgi 的。自从有了 wsgi ,大家都用 wsgi 了
    funicorn 其实就是把 wsgi 转出来而已
    ljbha007
        4
    ljbha007  
       2015-08-22 09:16:40 +08:00
    因为在 http 请求和 web 框架中间往往还有一层负责解析 http 请求头、参数等内容的代码
    wsgi/fcgi 都是类似的负责这一层的代码
    nodejs 自己把这一层封装到'http'这个 module 里面了 所以不需要额外的 cgi 层
    ljbha007
        5
    ljbha007  
       2015-08-22 09:39:24 +08:00
    用 python 也可以不用 wsgi 或者 fcgi 你直接用 socket 然后 nginx 反向代理过来直接就是原始的 http 协议的数据流 你需要自己处理各种请求头
    zonghua
        6
    zonghua  
       2015-09-12 23:28:25 +08:00
    照着 wiki ,在虚拟机里面配置了好多次 lnmp ,从来没有成功过,不懂怎么工作的 i 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2770 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:43 · PVG 15:43 · LAX 23:43 · JFK 02:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.