# NPM как балансировщик

**URL:** <https://forum.samohosting.ru/t/npm-kak-balansirovshhik/718>\
**Category:** NPM. Nginx Proxy Manager\
**Tags:** reverse-proxy, nginxproxymanager, статья, youtube\
**Created:** [21.Август.2025 13:23:30 UTC](https://forum.samohosting.ru/t/npm-kak-balansirovshhik/718 "2025-08-21T13:23:30Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![admin](https://forum.samohosting.ru/user_avatar/forum.samohosting.ru/admin/32/4_2.png) [@admin](https://forum.samohosting.ru/u/admin)\
**Post date:** [02.Сентябрь.2025 11:37:44 UTC](https://forum.samohosting.ru/t/npm-kak-balansirovshhik/718/3 "2025-09-02T11:37:44Z")

</div>

![image](https://forum.samohosting.ru/uploads/default/original/2X/e/e49c7687a83bf1c6355cf6c2bb281d8578694d9b.png)

**И так, краткая сопроводительная справка к видео:**

> 1. Зачем нужен балансировщик?

> **нажмите, чтобы развернуть детали**
>
> Случаев, вариантов и причин применения может быть множество.  
> В домашнем самохостинге - я бы говорил о тех случаях, когда:
> 
> - **Вам критична отказоустойчивость сервиса.** Например, чтобы Ваш основной DNS сервер, блокировщик рекламы, сервис хранения паролей - дублировался.
> - **Нагрузка на одной физической машине критически высока** , нужно ее распределеить на несколько серверов.

> 1. Как настроить балансировку в NPM

> **нажмите, чтобы развернуть детали**
>
> **2.1 создать папку** `mkdir /data/nginx/custom/` в lxc или docker контейнере  
> **2.2 создать файл конфигурации для баналсировщика** : НАЗВАНИЕ.conf  
> например `nano http.conf` или nano `balancer1.conf`  
> содержащий адрес-порт серверов для балансировки:
> 
> ```auto
> upstream backend1 {
> server ip:port weight=1;
> server ip2:port2 weight=10;
> }
> 
> ```
> 
> где
> 
> - weight - это вес для балансировки. в этом примере лишь каждый 10 запрос будет уходить на второй сервер
> - backend1 - название для апстрима, не привязанное к названию файла конфигурации, но может быть идентичным
> 
> **2.3 Добавить блок #Custom** в `nano /etc/nginx/conf/nginx.conf`  
> указав, что конфигруации nginx нужно смотреть на созданный Вами файл  
> `/data/custom/balancer1.conf`
> 
> `include /data/nginx/custom/balancer1[.]conf;`
> 
> ![image](https://forum.samohosting.ru/uploads/default/original/2X/3/31983a7169310793855979415a67d8bba357b622.png)
> 
> **2.4 В веб панели npm добавить proxy host**
> 
> ![image](https://forum.samohosting.ru/uploads/default/original/2X/d/d3d794521ea09b0166a4f271b07e45979cf393b7.png)  
> где
> 
> - loadtest.lan - ваш целевой ресурс, требующий балансировки
> - balancerovshik - любое название латиницей(не влияет ни на что), порт любой
> 
> вкладка Advanced
> 
> ```auto
> location / {
> add_header X-Served-By $host;
> proxy_set_header Host $host;
> proxy_set_header X-Forwarded-Scheme $scheme;
> proxy_set_header X-Forwarded-Proto $scheme;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_pass http://balancer1;
> }
> 
> ```
> 
> где **balancer1** это название апстрима, которое вы указали в файле конфигурации балансировки.
> 
> ![image](https://forum.samohosting.ru/uploads/default/original/2X/e/e60ba54f3f1884ca268cde86a2073808e9a80733.png)

> 1. Дополнительные материалы по видео

> **нажмите, чтобы развернуть детали**
>
> 3.1 Вместо реальных сервисов исользовались демо nginx-hello контейнеры
> 
> ```auto
> services:
> nginx-hello:
> image: nginxdemos/hello
> ports:
> - 80:80
> 
> ```
> 
> ![image](https://forum.samohosting.ru/uploads/default/original/2X/d/dc4d69c83c12b4c7f8675fcd7acbab61f070fc76.png)
> 
> 3.2 NPM можно равернуть:  
> [- как LXC контейнер в Proxmox VE](https://community-scripts.github.io/ProxmoxVE/scripts?id=nginxproxymanager)  
> [- как docker app](https://nginxproxymanager.com/guide/#quick-setup)

> 1. Полезные статьи по данной тематике:

> **нажмите, чтобы развернуть детали**
>
> 4.1 [How to load balance your servers using Nginx Proxy Manager and Cloudflare - Silicon's blog](https://silicon.blog/2023/05/17/how-to-load-balance-your-servers-using-nginx-proxy-manager-and-cloudflare/)  
> 4.2 [NGINX as sticky balancer for HA using cookies](https://www.treitos.com/blog/old/nginx-as-sticky-balancer-for-ha-using-cookies.html)  
> 4.3 [Как настроить Nginx в качестве балансировщика нагрузки / Хабр](https://habr.com/ru/companies/first/articles/683870/)

---

_[View the full topic](https://forum.samohosting.ru/t/npm-kak-balansirovshhik/718)._
