Я просмотрел несколько тем здесь, но ни одно из найденных решений, похоже, не работает.
У меня есть 3 коробки, созданные через Vagrantfile с марионеточными модулями, на которых установлены nginx и php. Я создал простую веб-страницу для статического вывода имени хоста плюс информация о php.
На балансировщике нагрузки у меня есть следующий код для /etc/nginx/sites-available/127.0.0.1 (обратите внимание, что теперь это сайт по умолчанию и связанные настройки через мой Vagrantfile)
# vagrant/puppet/modules/nginx/files/loadBalancer/127.0.0.1
upstream backend {
server 192.168.205.20; #ip of second machine
server 192.168.205.30; #ip of third machine
}
server {
listen 80;
server_name _;
root /var/www/app;
index index.php;
location / {
try_files $uri /index.php;
proxy_pass http://backend;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
Два дополнительных хоста, на которых размещено это веб-приложение, имеют следующий файл для /etc/nginx/sites-available/127.0.0.1
# vagrant/puppet/modules/nginx/files/127.0.0.1
server {
listen 80;
server_name _;
root /var/www/app;
index index.php;
location / {
try_files $uri /index.php;
proxy_pass http://backend;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
Однако это приводит к появлению только одной страницы (балансировщики нагрузки никогда не заменяют две другие, как следует).
Я также попытался передать backend upstream как fastcgi_pass, но это приводит к 502 плохим шлюзам. Есть ли что-то, что я неправильно понимаю, насколько это должно функционировать? Любая помощь будет принята с благодарностью!
Задача ещё не решена.
Других решений пока нет …