2

这是我的 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 个不同的域?

4

1 回答 1

4

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

于 2013-05-21T23:54:54.730 回答