
Load Balancing ist die Methode zur Verteilung der Webanfragen, die aus dem Internet kommen, auf mehrere interne Server, diese Server stellen Clients denselben Inhalt bereit. Pound ist eines der Pakete, das Ihnen hilft, den Lastenausgleich für den Webserver einzurichten, es bietet einen Reverse-Proxy und unterstützt auch HTTPS-Anfragen.
1. Wenn die Clients Webinhalte über das Internet anfordern, werden Anfragen an das Pound Gateway (Public Main Server) 102.108.12.10 geleitet am Hafen 80 oder 443 .
2. Pound-Gateway bereits mit internem Apache-Webdienst konfiguriert (192.168.12.11 und 192.168.12.12 )
3. Das Pfund-Gateway leitet alle Anfragen an den Port Nr. 80 des internen Servers weiter oder 443 .
4. Pound Gateway führt einen Reverse-Proxy durch, um Webinhalte an Clients zurückzusenden.
Inhalt:
- Webserver installieren
- Installieren Sie Pound
- Pfund konfigurieren
- Firewall
- Extras
- Fehlerbehebung
Webserver installieren:
Installieren Sie den Apache-Server auf beiden internen Servern mit dem Befehl yum.
### Ubuntu 15.04 / Ubuntu 14.04 ### $ sudo su - # apt-get update # apt-get install apache2 ### CentOS 7 / RHEL 7 / Fedora 22 ### # yum install httpd # systemctl start httpd.service
Legen Sie test index.html unter /var/www/html ab auf internen Servern.
Für 192.168.12.11
echo "This is 192.168.12.11" > /var/www/html/index.html
Für 192.168.12.12
echo "This is 192.168.12.12" > /var/www/html/index.html
Überprüfen Sie die Webserver, indem Sie http://192.168.12.11 besuchen und http://192.168.12.12; Sie sollten „Dies ist 192.168.12.11 sehen “ und „Dies ist 192.168.12.12 ” bzw.
Installieren Sie Pound:
Installieren Sie nun das Pound-Paket auf dem Gateway-Server (102.108.12.10 ). Pound ist im Basis-Repository von CentOS oder RHEL 7 nicht verfügbar, daher müssen Sie EPEL einrichten.
### Only for CentOS 7 / RHEL 7 ### # rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Pound rpm installieren.
### Ubuntu 15.04 / Ubuntu 14.04 ### # apt-get install pound ### CentOS 7 / RHEL 7 / Fedora 22 ### # yum install Pound
Pfund konfigurieren:
pound.cfg ist die Konfigurationsdatei und befindet sich im Verzeichnis /etc. Öffnen Sie die Konfigurationsdatei, um die Anfragen zwischen zwei internen Servern zu verteilen. Wenn Sie kein SSL-Zertifikat auf dem Pound-Gateway installiert haben, entfernen Sie die Zeilengruppe ListenHTTPS.
### Ubuntu 15.04 / Ubuntu 14.04 ### # nano /etc/pound/pound.cfg ### CentOS 7 / RHEL 7 / Fedora 22 ### # vi /etc/pound.cfg
Ändern Sie die Konfigurationsdatei.
ListenHTTP Address 102.108.12.10 Port 80 End ### Remove below ListenHTTPS stanza, if you do not wish to balance HTTPS request. ListenHTTPS Address 102.108.12.10 Port 443 Cert "/etc/ssl/pound.pem" End Service BackEnd Address 192.168.12.11 Port 80 End BackEnd Address 192.168.12.12 Port 80 End End
Starten Sie den Pound-Dienst.
### Ubuntu 15.04 / Ubuntu 14.04 ### # service pound start ### CentOS 7 / RHEL 7 / Fedora 22 ### # systemctl start pound.service
Firewall:
Bitte konfigurieren Sie die Firewall so, dass 80 und 443 Ports zugelassen werden , führen Sie den folgenden Befehl aus.
### CentOS 7 / RHEL 7 / Fedora 22 ### # firewall-cmd --add-service=http # firewall-cmd --add-service=https # firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld
Besuchen Sie jetzt http://102.102.12.10 , aktualisieren Sie die Seite kontinuierlich. Sie können die Homepage des internen Webservers sehen, gleichzeitig können Sie feststellen, dass sich die Homepage bei jeder Anfrage ständig ändert.
Wenn Sie planen, HTTPS-Anfragen auszugleichen, müssen Sie ein neues Zertifikat für pound generieren und die Datei pound.cfg entsprechend aktualisieren.
cd /etc/ssl && openssl req -x509 -newkey rsa:1024 -keyout pound.pem -out pound.pem -days 365 -nodes
Extras:
Wenn Sie beispielsweise Pound Gateway als einen der internen Webserver verwenden möchten (102.108.12.10 ); den Apache-Webserver so einstellen, dass er auf einem anderen Port statt auf Port 80 lauscht, da Pound Port 80 verwendet . Unten ist die kleine Konfiguration, die sowohl als Pound-Gateway als auch als Webserver fungiert. Pound lauscht auf Port 80 gleichzeitig lauscht Apache auf p ort 808.
ListenHTTP Address 102.108.12.10 Port 80 End ### Remove below ListenHTTPS stanza, if you do not wish to balance HTTPS request. ListenHTTPS Address 102.108.12.10 Port 443 Cert "/etc/ssl/pound.pem" End Service BackEnd Address 102.108.12.10 Port 808 End BackEnd Address 192.168.12.11 Port 80 End End
Fehlerbehebung:
Wenn Sie eine Fehlermeldung wie unten erhalten,
PID file /var/run/pound.pid not readable (yet?) after start.
Bearbeiten Sie die Datei /usr/lib/systemd/system/pound.service.
vi /usr/lib/systemd/system/pound.service
Kommentieren Sie den PID-Eintrag wie unten aus.
#PIDFile=/var/run/pound.pid
Load Balancer ist die wichtigste Lösung in Unternehmensumgebungen, in denen der Server Millionen von Anfragen erhält, er stellt sicher, dass der Client die Webinhalte rechtzeitig erhält und entlastet die Server.