digital-garden/dev/devops/nginx/Балансировка нагрузки в Nginx.md
Struchkov Mark 2199e79016
All checks were successful
continuous-integration/drone/push Build is passing
Большое обновление
2024-11-03 04:10:11 +03:00

2.5 KiB
Raw Blame History

aliases tags date
Балансировка запросов на Nginx
maturity/🌱
2024-10-30

Блок upstream используется для указания списка серверов, между которыми nginx будет распределять входящие запросы, тем самым обеспечивая ../../architecture/highload/Балансировка нагрузки. В блоке upstream перечисляются серверы, между которыми будет распределяться нагрузка.

upstream myapp {
	server server1.example.com;
	server server2.example.com;
	server server3.example.com;
}

Затем настройте блок server, чтобы перенаправлять запросы к вашему блоку upstream. В блоке server используйте директиву proxy_pass внутри location, как показано ниже:

server {
    listen 80;

    location / {
        proxy_pass http://myapp;
    }
}

Метод балансировки

Nginx поддерживает несколько методов балансировки нагрузки, включая round-robin (по умолчанию), least-connected и ip-hash. Вы можете выбрать нужный метод, добавив соответствующую директиву в блок upstream.

upstream myapp {
    least_conn;
    server server1.example.com;
    server server2.example.com;
    server server3.example.com;
}

Резервные сервера

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

upstream myapp {
    server server1.example.com;
    server server2.example.com;
    server server3.example.com;
    server backup.example.com backup;
}

Мета информация

Область:: ../../../meta/zero/00 Nginx Родитель:: Источник:: Создана:: 2024-10-30 Автор::

Дополнительные материалы

Дочерние заметки