@AndrewRusinas

Деплой нескольких приложений на одном дроплете?

Погружаюсь в тему деплоя. Понимаю, что на одном дроплете можно иметь несколько приложений, каждое из которых будет привязано к своему домену. Пока не совсем понимаю, как это работает - ведь внешний ip один, порт тоже.

Я полагаю, что это все настраивается в nginx? Если да, то есть ли у кого-нибудь хороший гайд на тему его настройки? Уроков посмотрел достаточно, сам около 10 раз настраивал, но в голове все равно пока это остается магией и нет пониманию, что и почему.

Nginx тоже можно запускать в контейнере? Для двух приложений будет один контейнер с nginx или для каждого приложения свой? В общем, в devops я сильно нуб и хочу это исправить)
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Как вариант:
nginx на основной системе:
./nginx/sites-enabled/site1.conf:
{
  listen 80;
  server_name site1.example.org;

  location / {
     proxy_pass: http://127.0.0.1:8081;
 }

}

./nginx/sites-enabled/site2.conf:
{
  listen 80;
  server_name site2.example.org;

  location / {
     proxy_pass: http://127.0.0.1:8082;
 }
}


Контейнеры для site1:
docker-compose.yml

nginx:
    volumes:
        - ./:/opt/site1-root
        - ./config/nginx:/etc/nginx/conf.d
    ports:
      - "0.0.0.0:8081:80"


./conf/nginx/site1_local.conf
{
   listen 80;
   
   local / {
       root  /opt/site1-root;
   }
}


Контейнеры для site2:
docker-compose.yml

nginx:
    volumes:
        - ./:/opt/site2-root
        - ./config/nginx:/etc/nginx/conf.d
    ports:
      - "0.0.0.0:8082:80"


./conf/nginx/site2_local.conf
{
   listen 80;
   
   local / {
       root  /opt/site2-root;
   }
}

Можно без nginx в контейнерах обойтись, и сразу биндить порт в основной системный nginx, можно сделать свой network - смотря что у вас крутится и как организовано.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
впереди ставится jwilder/nginx или какой нибудь traefic , который сам подхватывает конфигурацию из переменных окружения запущенных контейнеров и разруливает виртуальные хосты по разным контейнерам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы