How to Configure Load Balancer with Pound in Ubuntu
To Configure Load Balance with Pound in Ubuntu
Pound is an open source lightweight software for reverse proxy and load balancing solution. As a reverse-proxy load balancing server, it allows the requests from the HTTP/HTTPS clients and distributes them to more than one Web servers. This article explains the configuration of Load balancer with Pound in Ubuntu
|Pound Load Balancer||192.168.5.145||node1.example.com|
|Apache Webserver 1||192.168.5.146||node2.example.com|
|Apache Webserver 2||192.168.5.147||node3.example.com|
Provide hostname resolution between the three machines either configure DNS server or create entry in /etc/hosts file.
192.168.5.145 node1.example.com node1
192.168.5.146 node2.example.com node2
192.168.5.147 node3.example.com node3
Note: Install Apache package on both of the web servers and configure basic Apache webserver with simple index.html file.
Installation of Pound package
First install the pound package on load balancer machine (node 1).
root@node1:~# apt-get install pound -y Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: pound 0 upgraded, 1 newly installed, 0 to remove and 435 not upgraded. . . . Preparing to unpack .../pound_2.6-6.1_amd64.deb ... Unpacking pound (2.6-6.1) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for systemd (229-4ubuntu4) ... Setting up pound (2.6-6.1) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for systemd (229-4ubuntu4) ...
Create a new configuration file for pound and edit it as follows,
root@node1:~# mv /etc/pound/pound.cfg /etc/pound/pound.cfg.backup root@node1:~# vim /etc/pound/pound.cfg Entry: User "www-data" Group "www-data" # log level (max: 5) LogLevel 3 # specify LogFacility LogFacility local1 # interval of heartbeat - seconds Alive 30 Control "/var/run/pound/poundctl.socket" # define frontend ListenHTTP Address 0.0.0.0 Port 80 End # define backend Service BackEnd Address 192.168.5.146 Port 80 Priority 5 End BackEnd Address 192.168.5.147 Port 80 Priority 5 End End
Once the pound is configured, start and enable its service.
root@node1:~# sed -i -e "s/^startup=0/startup=1/" /etc/default/pound root@node1:~# systemctl start pound
In addition, you need to configure rsyslog for pound.
root@node1:~# vi /etc/rsyslog.d/50-default.conf Entry: #in line 9 change the entry as shown like below and add new line content on line 10 *.*;auth,authpriv.none;local1.none -/var/log/syslog local1.* /var/log/pound.log
Restart rsyslog service to take effect.
root@node1:~# systemctl restart rsyslog
Now its time to check the load balancer between the webserver nodes from web browser. Open the web browser with the IP address of the pound server.
Note: For each and every request will be redirected to the different webservers.
Thank you! for using Linux Help.
You find this tutorial helpful? Share with your friends to keep it alive.
For more help topics, browse our website www.linuxhelp.com
Be the first to comment, we value your suggestions. For further queries please comment below.