draait Tornado en Nginx op dezelfde server

Ik heb nu een statische website die wordt aangeboden door nginx, en ik wil een app ontwikkelen met Tornado op dezelfde server.

De documentatie van Tornado vermeldt dat wsgi geen niet-blokkerende verzoeken ondersteunt.

Is er een manier voor mij om ze samen te laten werken (op dezelfde server)?

10

1 antwoord

Natuurlijk kan je dat. Bekijk het nginx.conf voorbeeld op de homepage van tornado .

De relevante stukjes in uw geval zijn:

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;
        }
        ...
    }
    ...
}
17
toegevoegd
De link nginx.conf is verbroken, dus ik dacht dat ik de huidige werkende link voor het gemak zou aanbieden. Ik hoop dat dit iemand helpt. tornadoweb.org/en/stable/ & hellip;
toegevoegd de auteur JohnZ, de bron
Helemaal niet. U kunt dezelfde server gebruiken voor verschillende applicaties ... Op mijn persoonlijke website bijvoorbeeld, heb ik blogs met twee woorden en een python-app die allemaal via dezelfde webserver worden weergegeven. Ze zijn geconfigureerd om te reageren op aanvragen voor verschillende urls (bijvoorbeeld http://myserver/app , http://myserver/wp1 , http://myserver/wp2 . Dan heb ik omleidingen naar bijvoorbeeld http://wonderful-blog.com -> http://myserver/wp1 Ik hoop dat het logisch is.
toegevoegd de auteur lbolla, de bron
Correct. U hebt 4 tornado-exemplaren die op ports 8000..8003 en nginx load balancing-verzoeken worden uitgevoerd.
toegevoegd de auteur lbolla, de bron
Ik las dat, maar dat zouden verschillende servers zijn (verschillende ip-adressen) toch? Ik denk dat stopcontacten de juiste weg zijn, ik moet er meer naar kijken.
toegevoegd de auteur whotemp, de bron
Ik denk het. Om te verduidelijken, luisteren de tornado-instanties naar de 8000, 8001, 8002, 8003-poorten?
toegevoegd de auteur whotemp, de bron
Ok bedankt voor de verduidelijking. Ik begrijp het nu!
toegevoegd de auteur whotemp, de bron
Links (van antwoord en reactie) zijn verbroken. Bijgewerkte versie: tornado.readthedocs.org/nl/stable/gids/& hellip;
toegevoegd de auteur Andrey Tykhonov, de bron