首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
V2EX  ›  Tornado

Nginx 多端口运行 Tornado 如何获取当前端口

  •  
  •   jecvay · 2015-01-08 15:58:39 +08:00 · 4731 次点击
    这是一个创建于 1743 天前的主题,其中的信息可能已经有所发展或是发生改变。

    配置了 Nginx 会将请求分给 8000:8003 四个端口, 我想Tornado建一个页面, 访问这个页面的时候浏览器上能显示出这个页面的请求由哪一个端口获取了, 如何能实现这个功能?

    RequestHandler 貌似没有传进来端口号?

    12 回复  |  直到 2015-01-09 10:31:36 +08:00
        1
    kenneth   2015-01-08 16:03:06 +08:00   ♥ 1
    app1.py 你self.write("path 1")
    app2.py 你self.write("path 2")
    试试
        2
    jecvay   2015-01-08 16:04:23 +08:00
    @kenneth 这是可以的. 如果我想统一用同一个文件, 不用分成好几个py文件, 能实现吗?
        3
    kenneth   2015-01-08 16:05:14 +08:00
    @jecvay 我个人觉得不行。但是也许别人知道怎么写,我写不出来。
        4
    cloverstd   2015-01-08 16:15:50 +08:00
    我想可以通过 nginx 利用 rewrite 把端口通过 HTTP 请求参数传入到 Handler 里面

    未验证
        5
    rrfeng   2015-01-08 16:38:33 +08:00
    RequestHandler 里没有,但是 ioloop 启动的设置里有啊!

    直接引用全局变量就行了啊……
        6
    spritevan   2015-01-08 16:38:41 +08:00
    options.port
        7
    9hills   2015-01-08 17:12:23 +08:00
    你启动tornado的时候不是传了port么。。
        8
    sivacohan   2015-01-08 18:41:09 +08:00 via Android
    @9hills 我猜他是前面顶了gunicorn 然后启动多个tornado worker 现在想打出一个worker使用的端口
        9
    jecvay   2015-01-08 19:36:24 +08:00
    @9hills 是, 但是我不知道怎么把这个port变量传到ioloop.start()启动的handler里面
        10
    jecvay   2015-01-08 19:37:03 +08:00
    @rrfeng 这有点类似 a.py import 了 b.py, 然后 b 里面想要使用 a 里面的变量, 我不知道怎么写
        11
    jecvay   2015-01-08 21:12:54 +08:00
    啊我知道了.
    可以用 tornado.options 进行传递.
        12
    kfll   2015-01-09 10:31:36 +08:00
    每个实例启动的时候给一个独一无二的环境变量
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2608 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 13:40 · PVG 21:40 · LAX 06:40 · JFK 09:40
    ♥ Do have faith in what you're doing.