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;
    }
}

最初にヒットしたサイトは表示されたままであるため、最初にサイト 2 にアクセスすると、サイト 1 が表示されません。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 に答える