Конфигурация Nginx для нескольких статических сайтов на одном экземпляре сервера - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть три статических сайта.Я использую Vue 2 и запускаю сборку для каждой папки.

Я хочу разместить все три статических файла на одном экземпляре сервера.Сейчас у меня нет домена, поэтому я хочу разместить IP-адрес самого сервера.

У меня есть папка в папке html / www

first_folder
second_folder
third_folder

Все три вышеупомянутые папки имеют index.htmlфайл в нем.

Допустим, у меня есть IP-адрес 3.12.178.229

Я хочу получить доступ к папкам типа

http://3.12.178.229     // i.e path for first_folder
http://3.12.178.229/second_path    // i.e path for second_folder
http://3.12.178.229/third_path     // i.e path for third_folder

Я могу получить доступ к индексу.HTML-файл, который есть в first_folder, но когда я пытаюсь получить доступ к second_folder по IP http://3.12.178.229/second_folder, он ничего не показывает.

{
   listen 80;
   server_name 3.12.178.229;

   location / {
     root path_to_first_folder/first_folder; // I am able to access this
     index  index.html index.htm;
     try_files $uri $uri/ /index.html;
   }

   location /second_path {
     root path_to_first_folder/second_folder; // I am able to access this

     index  index.html index.htm;
     try_files $uri $uri/ /index.html;
   }

   location /third_path {
     root path_to_first_folder/third_folder; // I am able to access this

     index  index.html index.htm;
     try_files $uri $uri/ /index.html;
   }

}

1 Ответ

0 голосов
/ 28 февраля 2019

Путь к запрашиваемому файлу создается путем объединения значения директивы root с URI.Таким образом, вы можете использовать root только с подпапками, если (например) second_path и second_folder на самом деле одно и то же имя.Подробнее см. в этом документе .

Например:

location /foo {
    root /path/to/root;
}

URI /foo/index.html расположен по адресу /path/to/root/foo/index.html


Если second_path и second_folder - это разные имена, вам необходимо использовать директиву alias.Подробнее см. в этом документе .

Например:

location /foo {
    alias /path/to/root/bar;
}

URI /foo/index.html расположен по адресу /path/to/root/bar/index.html

...