6

uWSGI 配置

[uwsgi]
socket = /tmp/uwsgi.sock
chmod-socket = 666
processes = 1
master = true
vhost = true
no-site = true

Nginx 配置

server {
    listen       80;
    server_name  www.site1.com;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/uwsgi.sock;
        uwsgi_param UWSGI_PYHOME /var/virtualenvs/site1;
        uwsgi_param UWSGI_CHDIR /var/www/site1;
        uwsgi_param UWSGI_SCRIPT wsgi;
    }
}

server {
    listen       80;
    server_name  www.site2.com;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/uwsgi.sock;
        uwsgi_param UWSGI_PYHOME /var/virtualenvs/site2;
        uwsgi_param UWSGI_CHDIR /var/www/site2;
        uwsgi_param UWSGI_SCRIPT wsgi;
    }
}

无论我先点击哪个站点,它都会显示它,所以如果我先转到site2,我将永远看不到site1。关于为什么 uWSGI vhost 设置似乎不起作用的任何想法?

4

4 回答 4

5

问题最终是使用 INI 配置文件导致 uWSGI 在单解释器模式下运行。XML 中完全相同的配置允许一切正常工作。uWSGI 开发人员在未来的版本中不会出现这种情况。

于 2011-02-28T19:16:53.637 回答
2

在这里http://wiki.nginx.org/HttpUwsgiModuleMultipleDynamicApplications您可以找到示例,如何通过单个上游设置多个 uWSGI 应用程序。

于 2011-02-19T04:55:29.550 回答
0

如果你想使用 TCP 连接或 nginx 构建而没有 uwsgi_pass 支持:

nginx配置:

location / {
    proxy_pass http://127.0.0.1:8010/;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

uwsgi.ini文件:

[uwsgi]
# set the http port
http = :8010
于 2012-09-14T15:33:40.113 回答
-1

改用 TCP 套接字怎么样?

[uwsgi]
socket = 127.0.0.1:3031
processes = 1
master = true
vhost = true
no-site = true

nginx 配置

server {
    listen       80;
    server_name  www.site1.com;

    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:3031;
        uwsgi_param UWSGI_PYHOME /var/virtualenvs/site1;
        uwsgi_param UWSGI_CHDIR /var/www/site1;
        uwsgi_param UWSGI_SCRIPT wsgi;
    }
}

server {
    listen       80;
    server_name  www.site2.com;

    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:3031;
        uwsgi_param UWSGI_PYHOME /var/virtualenvs/site2;
        uwsgi_param UWSGI_CHDIR /var/www/site2;
        uwsgi_param UWSGI_SCRIPT wsgi;
    }
}
于 2011-02-27T05:12:33.847 回答