如何在一个域下为多个网站设置nginx?

问题描述 投票:0回答:1

我使用django创建了两个网站(带数据库),我们称之为web1(database = web1_db)和web2(database = web2_db)。我想以这种方式在一个域下运行它们(例如,main.html,每个网站都有url.py来引导页面):

呜呜呜.没有website.com/Web1/卖弄.HTML

呜呜呜.没有website.com/Web2/卖弄.HTML

我正在使用nginx和uwsgi来为网站服务,我可以让web1和web2单独工作。为了服务上述两个网站,我在emperor模式下设置了uwsgi(我认为成功),但我无法弄清楚我应该如何配置nginx来使其工作。有人可以给我一些建议吗?

我对单个网站的nginx conf如下:

upstream mywebsite {
server unix:///tmp/mywebsite.sock;
}

server {
listen 80;
server_name www.mywebsite.com;
proxy_http_version 1.1;
ssl_protocols TLSv1.2;

location /media{
    alias /pathtomedia;
}

location /static{
    alias /pathtostatic;
}

location / {
    include /etc/nginx/uwsgi_params;
    include /etc/nginx/mime.types;
    uwsgi_pass mywebsite;
}
}
django nginx uwsgi
1个回答
0
投票

您必须使用两个(web1和web2)上游以及每个位置块location /web1 { something; } uwsgi_pass到您的上游。

您可能还需要重写URL,以便您的URL的实际“/ web *”部分不会传递到上游。基本上,所以上游认为请求实际上是“/ what”而不是“/ web1 / whatever”。

那个benig说,这完全取决于你的设置和任何人可以帮助任何网址重写(如果需要),需要更多的信息。

您可能想查看这个答案Defining correctly Nginx server block for two django apps and no server_name,它可能会帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.