запуск Tornado и Nginx на одном сервере - PullRequest
10 голосов
/ 07 декабря 2011

У меня сейчас статический веб-сайт, обслуживаемый nginx, и я хочу разработать приложение с Tornado на том же сервере.

В документации Tornado упоминается, что wsgi не поддерживает неблокирующие запросы.

Есть ли способ заставить их работать вместе (на одном сервере)?

1 Ответ

17 голосов
/ 07 декабря 2011

Конечно, вы можете.Взгляните на пример nginx.conf на домашней странице торнадо .

Соответствующие биты в вашем случае будут:

http {
    # Enumerate all the Tornado servers here
    upstream frontends {
        server 127.0.0.1:8000;
        server 127.0.0.1:8001;
        server 127.0.0.1:8002;
        server 127.0.0.1:8003;
    }
    ...
    server {
        ...
        # for your "static" website
        location ^~ /static/ {
            root /var/www;
            if ($query_string) {
                expires max;
            }
        }
        # for your tornado's app
        location / {
            proxy_pass_header Server;
            proxy_set_header Host $http_host;
            proxy_redirect false;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://frontends;
        }
        ...
    }
    ...
}
...