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/
jecvay
V2EX  ›  Tornado

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

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

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

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

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

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

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