Я использую 1 менеджер и 2 рабочих узла в Docker-Swarm.
Рабочие узлы работают с 3 стеками на сайте php / nginx, поэтому это site1, site2, site3, которые загружают «Это сайт */ (worker1 или worker2) "в браузере. Это прекрасно работает, когда я устанавливаю обратный прокси-сервер на один из узлов.
Но я хочу разместить один балансировщик нагрузки / обратный прокси-сервер на узле менеджера, я также отключил другие 2 стека, так что только в этом примереСтек site1 находится на обоих рабочих узлах. Их IP-адреса: «10.0.14.16» и «10.0.14.17».
Это файл конфигурации LB / RP nignx.
upstream site1_nginx {
server 10.0.14.16;
server 10.0.14.17;
}
server {
listen 80;
server_name site1.local;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://site1_nginx;
}
}
и это файл компоновки док-станции nignx:
version: '3'
services:
nginx:
image: nginx:latest
deploy:
placement:
constraints:
- node.role==manager
mode: global
ports:
- "80:80"
volumes:
- "./conf.d/:/etc/nginx/conf.d"
networks:
- reprox
networks:
reprox:
external: true
Но я получаю эту ошибку при создании службы:
loadbalancer_nginx.0.ua0z0l8gm18e@ubuntu-vm1 | 2019/10/11 14:36:00 [error] 6#6: *12 connect() failed (111: Connection refused) while connecting to upstream, client: 10.255.0.2, server: site1.local, request: "GET / HTTP/1.1", upstream: "http://10.0.14.17:80/", host: "site1.local"
loadbalancer_nginx.0.ua0z0l8gm18e@ubuntu-vm1 | 2019/10/11 14:36:00 [warn] 6#6: *12 upstream server temporarily disabled while connecting to upstream, client: 10.255.0.2, server: site1.local, request: "GET / HTTP/1.1", upstream: "http://10.0.14.17:80/", host: "site1.local"
loadbalancer_nginx.0.ua0z0l8gm18e@ubuntu-vm1 | 2019/10/11 14:36:00 [error] 6#6: *12 connect() failed (111: Connection refused) while connecting to upstream, client: 10.255.0.2, server: site1.local, request: "GET / HTTP/1.1", upstream: "http://10.0.14.16:80/", host: "site1.local"
loadbalancer_nginx.0.ua0z0l8gm18e@ubuntu-vm1 | 2019/10/11 14:36:00 [warn] 6#6: *12 upstream server temporarily disabled while connecting to upstream, client: 10.255.0.2, server: site1.local, request: "GET / HTTP/1.1", upstream: "http://10.0.14.16:80/", host: "site1.local"
loadbalancer_nginx.0.ua0z0l8gm18e@ubuntu-vm1 | 2019/10/11 14:36:01 [error] 6#6: *12 no live upstreams while connecting to upstream, client: 10.255.0.2, server: site1.local, request: "GET / HTTP/1.1", upstream: "http://site1_nginx/", host: "site1.local"
Также, если вам нужно, конфигурация сайта site1 nginx:
server {
listen 80 default_server;
listen [::]:80 default_server;
index index.php index.html;
server_name site1.local;
resolver 127.0.0.11;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /code;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
set $upstream php:9000;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass $upstream;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Сети с докером в порядке, у меня есть оверлейная сеть и сеть между php и nignx.