我使用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;
}
}
您必须使用两个(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,它可能会帮助您。