Install HAproxy

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

#Install and Configure HAProxy on CentOS/RHEL 5/6

#Rahul December 1, 2013 Linux Tutorials 5 Comments


#HAProxy is a very fast and reliable solution for high availability, load balanc
ing, It supports TCP and HTTP-based applications. Now a days most of websites ne
ed 99.999% uptime for there site, which are not possible with single server setu
p. Then we need some high availability environment which can easily manage with
single server failure.
#haproxy-setup-diagram
#This article will help you to install HAProxy on CentOS, RHEL servers and will
configure a Layer 4 Load Balancing (Transport Layer). Which will balance load an
d transfer requests to different-2 servers based on IP address and port numbers.
#Setup Instructions:
#Step 1: Setup Yum Repository
#CentOS/RHEL 5 users required to add EPEL repository in order to install HAProxy
packages. For CentOS 6 HAProxy packages are available under base repository, So
there are no need to add any repository for them.
#On CentOS/RHEL 5:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
#Step 2: Install HAProxy
#Install HAProxy package using yum package manager from command line interface u
sing following comamnd.
yum install haproxy -y
#Step 3: Configure HAProxy
#Update your HAProxy configuration file /etc/haproxy/haproxy.cfg as per your req
uirement, You may also use below given configuration file as an example of setup
and modify it.
vim /etc/haproxy/haproxy.cfg
#[ Update red mark values as per your network setup ]
global
log 127.0.0.1 local0
log 127.0.0.1 local1 debug
maxconn 45000 # Total Max Connections. This is dependent on ulimit
daemon
nbproc
1 # Number of processing cores. Dual Dual-core Opteron is 4
cores for example.
defaults
timeout server 86400000
timeout connect 86400000
timeout client 86400000
timeout queue 1000s
# [HTTP Site Configuration]
listen http_web 192.168.10.10:80
mode http
balance roundrobin # Load Balancing algorithm

option
option
server
server

httpchk
forwardfor
server1 192.168.10.100:80 weight 1 maxconn 512 check
server2 192.168.10.101:80 weight 1 maxconn 512 check

# [HTTPS Site Configuration]


listen https_web 192.168.10.10:443
mode tcp
balance source# Load Balancing algorithm
reqadd X-Forwarded-Proto:\ http
server server1 192.168.10.100:443 weight 1 maxconn 512 check
server server2 192.168.10.101:443 weight 1 maxconn 512 check
#Change the ips in configuration file as per your network setup. In HTTP Site Co
nfiguration section if any request on ip 192.168.10.10 on port 80, this will be
redirected to port 80 of 192.168.10.100 or 192.168.10.101 servers. Similarly in
HTTPS Site Configuration if any request on ip 192.168.10.10 on port 443, this wi
ll be redirected to port 443 of 192.168.10.100 or 192.168.10.101 servers.
#You also need to make few changes in configuration file as per your system conf
iguration.
nbproc <value>
mode <value>
balance <value>

# Number of processing cores in your system.


# 'http' for http site and 'tcp' for https site
# Type of load balancing like 'source', 'roundrobin' etc.

#Step 4: Start HAProxy Service


#Start HAProxy service using following command, also configure it to auto start
on system boot.
service haproxy start
chkconfig haproxy on

You might also like