Настройте nginx для обслуживания двух сайтов - PullRequest
0 голосов
/ 07 мая 2019

в настоящее время я использую nginx для обслуживания статических файлов моих документов API (mywebsites.com), я хочу добавить еще один веб-сайт: mywebsites.com/subwebsite.
, поэтому я отредактировал файл конфигурации nginx, чтобы обслужить их обоих:

server {
listen      0.0.0.0:80;
server_name mywebsite.com;

client_max_body_size 1m;
access_log            /var/log/nginx/error.log;
error_log             /var/log/nginx/static.log;

#location ~ /\.git {
 #  deny all;
#}

location /subwebsite {
    root  /home/api/portal/build;
    index index.html index.htm;

    try_files $uri $uri/ =404;
}



 location / {
    root  /home/api/application/public;
    index index.html index.htm;

   try_files $uri $uri/ =404;
 }




#sendfile off;
}

Проблема заключается в том, что я пытаюсь получить доступ к новому веб-сайту: mywebsite.com/subwebsite .. Я получил 404, не найденных.
И когда я пытаюсь изменить текущий сервер для пересылки на новый дочерний сайт (вместо добавления местоположения / дочернего сайта я меняю корневой каталог для местоположения /), это работает.
оригинальный файл:

server {
listen      0.0.0.0:80;
server_name mywebsite.com;

client_max_body_size 1m;
access_log            /var/log/nginx/error.log;
error_log             /var/log/nginx/static.log;

location ~ /\.git {
    deny all;
}

location ~ {
    root  /home/api/application/public;
    index index.html index.htm;

    try_files $uri $uri/ =404;
}

sendfile off;
}


Что мне здесь не хватает?Заранее спасибо

1 Ответ

0 голосов
/ 08 мая 2019

Я думаю, этот вариант размещения мог бы работать для вас:

location /subwebsite {
    root  /home/api/portal/build;
    try_files $uri /index.html;
}

Кажется, что такой файл конфигурации может быть более читабельным:

server {
    listen      0.0.0.0:80;
    server_name mywebsite.com;

    root  /home/api/application/public;
    index index.html index.htm;

    client_max_body_size 1m;
    access_log            /var/log/nginx/error.log;
    error_log             /var/log/nginx/static.log;

    #location ~ /\.git {
     #  deny all;
    #}

    location /subwebsite {
        root  /home/api/portal/build;
        try_files $uri /index.html;
    }

    #sendfile off;
}
...