无法在同一台服务器上运行2个不同的烧瓶应用程序

时间:2013-05-21 22:20:03

标签: python nginx flask uwsgi

这是我的nginx配置

server {
    listen       80;
    server_name site.com;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/uwsgi.sock;
        uwsgi_param UWSGI_PYHOME /var/www/site/env;
        uwsgi_param UWSGI_CHDIR /var/www/site;
        uwsgi_param UWSGI_MODULE app;
        uwsgi_param UWSGI_CALLABLE app;
    }

    location /site2 {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/uwsgi.sock;
        uwsgi_param UWSGI_PYHOME /var/www/site2/env;
        uwsgi_param UWSGI_CHDIR /var/www/site2;
        uwsgi_param UWSGI_MODULE app;
        uwsgi_param UWSGI_CALLABLE app;
    }
}

当我访问site.com时,有时我会从/ var / www / site获得服务,有时则从/ var / www / site2获得服务。此外,当我尝试访问site.com/site2时,我有时会从var / www / site2服务,有时也会从/ var / www / site服务。

这种不一致行为的原因是什么,以及如何解决它以便我可以使用2个不同的烧瓶应用而不实际使用2个不同的域?

1 个答案:

答案 0 :(得分:4)

您通过相同的套接字unix:/tmp/uwsgi.sock连接两个应用程序。如果您使用不同的域,则会遇到同样的问题。