使不同的Tornado服务器服务于不同的页面

时间:2012-09-18 17:22:15

标签: webserver integration tornado backend haproxy

假设我有两个Tornado服务器,server1用于提供模式为/news/blahblah的网页,server2用于具有模式/data/blahblah的网页。这两个服务器一起构成了我的应用程序的后端。

我想知道如何将它们集成并公开给客户端,以便不同服务器对不同URL的不同请求提供服务。

我听说过HAProxy,我必须使用它吗?

1 个答案:

答案 0 :(得分:2)

您可以使用haproxy,但在这种情况下您不需要它。

使用nginx。

以下是多个龙卷风的配置示例:

server {
    listen *:80;  
    server_name myserver.com;  

    location /data/blahblah {
        proxy_pass http://127.0.0.1:3001;
        proxy_redirect off;
    }

    location /news/blahblah { 
        proxy_pass http://127.0.0.1:4001;
        proxy_redirect off;
    }
}

然后你可以用haproxy扩展它......

listen http 0.0.0.0:80
    mode http
    stats enable
    stats refresh 10s
    stats hide-version
    cookie MYSERVER insert
    balance roundrobin
    option httpclose
    option httpchk OPTIONS /heath.html
    option forwardfor
    option httplog
    option logasap
    log global
    server MYSERVER 10.0.0.1:80 cookie SERVER1 check
    server MYSERVER 10.0.0.2:80 cookie SERVER2 check
    server MYSERVER 10.0.0.3:80 cookie SERVER3 check