Как настроить nginx для нескольких сайтов под одним доменом? - PullRequest
0 голосов
/ 30 марта 2019

Я создал два сайта (с базой данных), используя django, назовем их web1 (database = web1_db) и web2 (database = web2_db). Я хотел бы запустить их под одним доменом таким образом (например, main.html, у каждого веб-сайта есть url.py для прямых страниц):

www.mywebsite.com / web1 / main.html

www.mywebsite.com / web2 / main.html

Я использую nginx и uwsgi для обслуживания сайта, и я могу заставить web1 и web2 работать отдельно. Чтобы обслуживать оба веб-сайта, как указано выше, я настраиваю uwsgi в режиме emperor (я думаю, успешно), но я не могу понять, как мне настроить nginx, чтобы это работало. Может кто-нибудь дать мне какое-нибудь предложение?

Мой конфиг nginx для одного сайта выглядит следующим образом:

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

1 Ответ

0 голосов
/ 30 марта 2019

Вы должны использовать два (web1 и web2) апстрима и для каждого блока местоположения location /web1 { something; } uwsgi_pass к вашим апстримам.

Вам также может понадобиться переписать URL, чтобы фактическая часть "/ web *"Ваш URL не передается в верхний поток.В общем, поэтому восходящий поток считает, что запрос на самом деле «/ что угодно» вместо «/web1/whwhat".

* 1005». Как сказал Бениг, это полностью зависит от вашей настройки и от того, кто поможет в отношении любого URL.переписывая (если даже требуется), требуется гораздо больше информации.

Возможно, вы захотите проверить этот ответ Правильное определение блока сервера Nginx для двух приложений django и отсутствие имени_сервера , которое потенциально может помочь вам вваш путь.

...