El equilibrio de carga es el método de distribución de las solicitudes web que provienen de Internet a múltiples servidores internos, esos servidores sirven el mismo contenido a los clientes. Libra es uno de los paquetes que lo ayuda a configurar el equilibrio de carga para el servidor web, proporciona un proxy inverso y también admite solicitudes HTTPS.
1. Cuando los clientes solicitan contenido web a través de Internet, las solicitudes van a Pound Gateway (servidor principal público) 102.108.12.10 en el puerto nº 80 o 443 .
2. Libra puerta de enlace ya configurada con el servicio web interno de apache (192.168.12.11 y 192.168.12.12 )
3. La puerta de enlace Pound reenvía todas las consultas al puerto de servidores internos n.º 80 o 443 .
4. Pound Gateway hará un proxy inverso para devolver el contenido web a los clientes.
Contenido:
- Instalar servidor web
- Instalar libra
- Configurar libra
- Cortafuegos
- Extras
- Resolución de problemas
Instalar servidor web:
Instale el servidor Apache en ambos servidores internos usando el comando 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
Coloque test index.html debajo de /var/www/html en servidores internos.
Para 192.168.12.11
echo "This is 192.168.12.11" > /var/www/html/index.html
Para 192.168.12.12
echo "This is 192.168.12.12" > /var/www/html/index.html
Verifique los servidores web visitando http://192.168.12.11 y http://192.168.12.12; debería ver "Esto es 192.168.12.11 ” y “Este es 192.168.12.12 ” respectivamente
Instalar Libra:
Ahora, instale el paquete Pound en el servidor de puerta de enlace (102.108.12.10 ). Libra no está disponible en el repositorio base de CentOS o RHEL 7, por lo que debe configurar EPEL.
### Only for CentOS 7 / RHEL 7 ### # rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Instale Libra rpm.
### Ubuntu 15.04 / Ubuntu 14.04 ### # apt-get install pound ### CentOS 7 / RHEL 7 / Fedora 22 ### # yum install Pound
Configurar libra:
pound.cfg es el archivo de configuración y se puede encontrar dentro del directorio /etc, abra el archivo de configuración para distribuir las solicitudes entre dos servidores internos. Si no tiene un certificado SSL instalado en la puerta de enlace Pound, elimine la estrofa ListenHTTPS.
### Ubuntu 15.04 / Ubuntu 14.04 ### # nano /etc/pound/pound.cfg ### CentOS 7 / RHEL 7 / Fedora 22 ### # vi /etc/pound.cfg
Modifique el archivo de configuración.
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
Inicie el servicio Libra.
### Ubuntu 15.04 / Ubuntu 14.04 ### # service pound start ### CentOS 7 / RHEL 7 / Fedora 22 ### # systemctl start pound.service
Cortafuegos:
Configure el cortafuegos para permitir 80 y 443 puertos , ejecute el siguiente comando.
### 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
Ahora visite http://102.102.12.10 , actualice la página continuamente. Puede ver la página de inicio del servidor web interno, al mismo tiempo puede notar que la página de inicio cambia continuamente con cada solicitud.
Si planea equilibrar las solicitudes HTTPS, debe generar un nuevo certificado para libra y el archivo libra.cfg debe actualizarse en consecuencia.
cd /etc/ssl && openssl req -x509 -newkey rsa:1024 -keyout pound.pem -out pound.pem -days 365 -nodes
Extras:
Por ejemplo, si desea utilizar Pound Gateway como uno de los servidores web internos (102.108.12.10 ); hacer que el servidor web Apache escuche en algún otro puerto en lugar del puerto 80, porque Pound usa el puerto 80 . A continuación se muestra la pequeña configuración para actuar como ambos (puerta de enlace Pound y servidor web). Libra escucha en Puerto 80 al mismo tiempo, Apache escucha en p orto 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
Solución de problemas:
Si recibe algún error como el siguiente,
PID file /var/run/pound.pid not readable (yet?) after start.
Edite el archivo /usr/lib/systemd/system/pound.service.
vi /usr/lib/systemd/system/pound.service
Comente la entrada de PID como se muestra a continuación.
#PIDFile=/var/run/pound.pid
El equilibrador de carga es la solución más importante en el entorno empresarial donde el servidor recibe millones de solicitudes, garantiza que el cliente obtenga el contenido web a tiempo y también libera la carga en los servidores.