[о слонах] ...и луконских волов, змееруких и видом ужасных (Лукреций).

Как настроить Nginx для балансировки нагрузки

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 15 ноября 2016

Как настроить Nginx для балансировки нагрузки
Балансировка нагрузки является очень полезным методом для распределения входящего сетевого трафика через ряд серверов. С помощью этого метода вы можете уменьшить использование ресурсов, снизить время отклика и избежать перегрузки сервера. На этом уроке, мы будем направим вас через этапы настройки балансировки нагрузки в Nginx на Linux.

Балансировка нагрузки в Nginx является одним из наиболее эффективных вариантов, доступных для достижения полного резервирования приложений, и это относительно легко и быстро установить. Мы настроим балансировку нагрузки Nginx с использованием круговых механизмов Робина. Таким образом, он будет пересылать все запросы на соответствующий сервер, включенный в конфигурацию Nginx.

Давайте начнем с установки и настройки.

Войдите на сервер в качестве пользователя root

 

и убедитесь, что все пакеты, установленные на сервере в актуальном состоянии

 

Нам нужен веб-сервер Nginx, установленный на Linux VPS. Выполните следующую команду, чтобы установить Nginx

 

После установки, проверьте, что веб-сервер активен

 

Теперь откройте конфигурационный файл Nginx вашего сайта текстовым редактором vim

 

и добавьте конфигурацию балансировки нагрузки в верхнюю часть файла

 

Вы должны установить порт 80 на всех серверах, перечисленных выше Nginx.

В том же файле конфигурации yourdomain.ru.conf нам нужно добавить модуль upstream в конфигурацию virtualhost

 

Сохраните файл и перезапустите Nginx для того, чтобы изменения вступили в силу.

 

Эта конфигурация будет в равной степени распределить весь входящий трафик по всем трем серверам (vps1.yourdomain.ru, vps2.yourdomain.ru, vps3.yourdomain.ru). Nginx может быть также выполнен с возможностью более эффективно распределять трафик. Он поставляется с опциями балансировки, такие как weight balancing, max fails и IP hash balancing.

Weight Balancing

Мы можем использовать эту опцию, чтобы указать часть трафика распределятся по каждому из серверов, которые мы перечислили в upstream.

Например:

 

В этом примере, vps2.yourdomain.ru получит в два раза больше трафика по сравнению с vps2.yourdomain.ru и vps3.yourdomain.ru получит в пять раз больше трафика, чем vps1.yourdomain.ru.

Max Fails

Если вы используете настройки Nginx по умолчанию, он будет посылать данные на серверы, даже если они упали. Мы можем использовать опцию Max fails для возможности предотвратить такие случаи.

 

В приведенном выше примере, Nginx будет пытаться подключиться к vps1.yourdomain.ru и если он не отвечает на запросы в течение более 20 секунд, он сделает еще одну попытку. После четырех попыток vps1.yourdomain.ru будет рассматриваться как нерабочий.

IP Hash Balancing

С помощью этого метода, посетители всегда будут отправлены на тот же сервер. Таким образом, если посетитель получил содержание vps1.yourdomain.ru, то он будет всегда передается на этот сервер, если только серверы не упали или недоступны.

 

В этом примере, vps3.yourdomain.ru, как известно, недоступен, и он помечен как упал.

Как настроить Nginx для балансировки нагрузки

PS. Если вам понравился этот пост, пожалуйста поделитесь им с друзьями в социальных сетях помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close