@DevLearn

Настрока Nginx и Apache, насткройка модуля upstream?

Добрый день. Нужна помошь. Задание следующее:

"Настроить nginx в качестве балансировщика. Используя mod_upstream, раскидывать весь входящий трафик по трем Apache2-серверам, находящимся в локальной сети"

Я правильно понимаю. Что мне нужно установить apache в количестве 3-х штук. (к примеру на virtual box). А потом с помощью Nginx раскидать по ним трафик? Для этого нужен какой нить тестовый сайт?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@dthpth
Погромист
с чисто теоретической стороны, можно упростить и запустить один Apache, который будет слушать три разных порта, конфиг nginx при этом практически не изменится (вместо разных ip будут разные номера портов) - однако, это сильно упростит вам жизнь на этапе настройки - не придётся воевать ещё и с виртуалками и их сетями.
всё это можно сделать на одной машине, например:
apache-хост-1 слушает порт 8081;
apache-хост-2 слушает порт 8082;
apache-хост-3 слушает порт 8083;
nginx слушает порт 80 и проксирует запросы на три эти апстрима;

тестовый сайт - элементарно три разных папки с файлом index.html и содержимым: <h1>808x</h1> (x заменить на соответсвующий номер)
каждый хост апача настрое на свою папку и при обращении по номеру порта в браузере будет показывать "свой" номер порта

конечный результат: при обащении через браузер на 80 порт попеременно отображаются номера портов разных апач-хостов

если отработаете этот сценарий, то разнести это всё по 4-м разным виртуалкам - задача чисто администрирования виртуалок - конфиги веб-серверов вас уже будут готовы
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@ky0
Миллиардер, филантроп, патологический лгун
Да, вы правильно понимаете.

Можно ограничиться одним апачем, создав отдельные вертуальные хосты на разных портах и/или добавив дополнительные айпишники - для тестовых целей это безразлично.
Ответ написан
@Jewish_Cat
Увлекаюсь C#
Если по простому, то у тебя будет одна тачка(сервер) на нём Nginx с настроенным upstream для сайта test.ru
upstream backend {
    server backend1.example.com;
    server backend2.example.com;
}

server {

    server_name test.ru;
    location / {
        proxy_pass http://backend;
    }
}

И плюс 3 тачки на каждой установлен apache и работает один и тот же сайт.
Этот конфиг nginx самый простой. На офф.сайте в документации всё понятно и подробно описаны все опции
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы