Pracuję nad konfiguracją modułu równoważenia obciążenia apache z 2 członkami. Te trzy serwery to Windows Server 2012 używający apache 2.4.9. Pracuję nad tym, aby jeden klaster równoważący obciążenie obsługiwał wiele witryn. Na razie dwa są ustawione localhost i test1, kiedy idę do localhost, wszystko działa dobrze, moduł równoważenia obciążenia działa ... Kiedy przechodzę do test1, serwery podrzędne ładują konfigurację localhost (która jest domyślna) Myślę, że to coś tak jak adres URL testu1 nie jest przekazywany pracownikom, więc pracownicy nie mogą go zidentyfikować.
Oto, jak wygląda konfiguracja wirtualnego hosta dla hosta lokalnego w module równoważenia obciążenia [uwaga, że jest on generyczny dla dobra klienta] ....
<VirtualHost *:80>
ServerAdmin someone@somewhere.org
DocumentRoot "E:/generic-page/www"
ServerName localhost
ErrorLog "E:/_logs/localhost-error.log"
CustomLog "E:/_logs/localhost-access.log" common
ProxyRequests Off
<Proxy *>
AllowOverride All
Require all granted
</Proxy>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/ stickysession=PHPSESSIONID nofailover=On
<Location /balancer-manager>
SetHandler balancer-manager
Require all granted
</Location>
#ProxyPassReverse / http://tstweb1.somewhere.org:80
#ProxyPassReverse / http://tstweb2.somewhere.org:80
<Proxy balancer://mycluster>
BalancerMember http://tstweb1.somewhere.org:80 loadfactor=1
BalancerMember http://tstweb2.somewhere.org:80 loadfactor=2
ProxySet lbmethod=byrequests
</Proxy>
<Location />
ProxyPass balancer://mycluster/ stickysession=PHPSESSIONID
</Location>
</VirtualHost>
Oto jak wygląda test1 na module równoważenia obciążenia ...
<VirtualHost *:80>
ServerAdmin someone@somewhere.org
DocumentRoot "E:/test1/trunk"
ServerName test1
ErrorLog "E:/test1/_logs/test1-error.log"
CustomLog "E:/test1/_logs/test1-access.log" common
ProxyRequests Off
<Proxy *>
AllowOverride All
Require all granted
</Proxy>
ProxyPass /balancer-manager !
ProxyPass / balancer://test1cluster/ stickysession=PHPSESSIONID nofailover=On
<Location /balancer-manager>
SetHandler balancer-manager
Require all granted
</Location>
<Location />
ProxyPass balancer://test1cluster/ stickysession=PHPSESSIONID
</Location>
#ProxyPassReverse / http://tstweb1.somewhere.org:80
#ProxyPassReverse / http://tstweb2.somewhere.org:80
<Proxy balancer://test1cluster>
BalancerMember http://tstweb1.somewhere.org:80 loadfactor=1
BalancerMember http://tstweb2.somewhere.org:80 loadfactor=2
ProxySet lbmethod=byrequests
</Proxy>
</VirtualHost>
Na każdej maszynie roboczej mam standardową konfigurację hosta wirtualnego. bez przekazywania proxy, tylko standardowe konfiguracje, które komputer działałby dobrze, gdyby domena wskazywała na to.
Po raz pierwszy próbuję to wszystko skonfigurować, dlatego z zadowoleniem przyjmuję wszelkie opinie, które mogą pomóc mi uzyskać dostęp do wielu domen i witryn do pracy w jednym klastrze.
Czy ktoś ma jakieś pomysły, jak rozwiązać ten problem?
<Proxy balancer://test1cluster>
być tak samo na obu serwerach? Nie widziałem jeszcze zbyt wiele, ale wydaje mi się, że nazwa powinna być taka sama u wszystkich członków