Pound : HTTP Load Balancing
2015/06/09
|
Install Pound which is HTTP/HTTPS Load Balancing software.
This example is based on the environment like follows. | --------+-------------------------------------------------------------------- | +-------------------+--------------------+--------------------+ |10.0.0.30 |10.0.0.51 |10.0.0.52 |10.0.0.53 +------+-----+ +-------+------+ +-------+------+ +-------+------+ | Frontend | | Backend#1 | | Backend#2 | | Backend#3 | | Pound | | Web Server | | Web Server | | Web Server | +------------+ +--------------+ +--------------+ +--------------+ |
Configure Pound to load balance to Backend#1, Backend#2, Backend#3 web servers.
| |
[1] | Install Pound. |
# install from EPEL
[root@dlp ~]#
yum --enablerepo=epel -y install Pound
|
[2] | Configure Pound. |
[root@dlp ~]#
mv /etc/pound.cfg /etc/pound.cfg.org
[root@dlp ~]#
vi /etc/pound.cfg
User "pound" Group "pound"
# log level (max: 5)
LogLevel 3
# specify LogFacility
LogFacility local1
# interval of heartbeat - seconds
Alive 30
# define frontend
ListenHTTP Address 0.0.0.0 Port 80 End
# define backend
Service BackEnd
# backend server's IP address
Address 10.0.0.51
# backend server's port
Port 80
# set priority (value is 1-9, max 9)
Priority 5 End BackEnd Address 10.0.0.52 Port 80 Priority 5 End BackEnd Address 10.0.0.53 Port 80 Priority 5 End End
sed -i -e "s/^PIDFile/#PIDFile/" /usr/lib/systemd/system/pound.service
[root@dlp ~]#
systemctl start pound
[root@dlp ~]#
systemctl enable pound
|
[3] | Change Rsyslog setting to revord logs from Pound. |
[root@dlp ~]#
vi /etc/rsyslog.conf
# line 54: change like follows
*.info;mail.none;authpriv.none;cron.none
,local1.none
/var/log/messageslocal1.* /var/log/pound.log
systemctl restart rsyslog
|
[4] | Change httpd settings on Backend Web servers to record logs of X-Forwarded-For. |
[root@www ~]#
vi /etc/httpd/conf/httpd.conf
# line 196: change
LogFormat "
\"%{X-Forwarded-For}i\"
%l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
systemctl restart httpd
|
[5] | Make sure all works fine to access to the frontend server from a Client with HTTP like follows. |
Nenhum comentário:
Postar um comentário