Блок upstream используется для указания списка серверов, между которыми nginx будет распределять входящие запросы, тем самым обеспечивая балансировку нагрузки. В блоке 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;
}

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

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

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

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