V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
matthewgao
V2EX  ›  NGINX

gunicorn 为什么不能直接处理 wsgi?

  •  
  •   matthewgao ·
    matthewgao · 2015-07-20 23:00:08 +08:00 · 2849 次点击
    这是一个创建于 3205 天前的主题,其中的信息可能已经有所发展或是发生改变。

    根据nginx上的配置来看,他是proxy_pass, 而不是uwsgi_pass, 那么不是意味着upstream到gunicorn也是HTTP的咯? 然后gunicorn再转成WSGI去启动Application?

    6 条回复    2015-07-22 21:48:52 +08:00
    socrates
        1
    socrates  
       2015-07-20 23:05:54 +08:00
    没错,就是你说的这个意思,wsgi只是作为一个标准的python web接口方便大家通信
    zhuangzhuang1988
        2
    zhuangzhuang1988  
       2015-07-20 23:38:17 +08:00
    uwsgi走的是自己的协议!!
    nooper
        3
    nooper  
       2015-07-20 23:51:22 +08:00
    uwsgi 更靠谱些吧。
    matthewgao
        4
    matthewgao  
    OP
       2015-07-21 09:14:16 +08:00 via Android
    @socrates 那么如果我想要传递Nginx中的一些环境变量怎么办? 因为没法用uwsgi_param 放到Http header里?
    socrates
        5
    socrates  
       2015-07-21 16:15:20 +08:00
    @matthewgao 这个可以直接加标准的http header就行,用add_header就行

    btw, uwsgi的协议可以保证一个长连接,会比标准http协议更有效率,另外是uwsgi还可以支持unix sock,如果场景合适的话,效率更快
    julyclyde
        6
    julyclyde  
       2015-07-22 21:48:52 +08:00
    首先,uwsgi和wsgi没啥关系
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2698 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:27 · PVG 23:27 · LAX 08:27 · JFK 11:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.