
5 Website Development Tips To Boost Your Business Growth Exponentially
How to setup and Install Haproxy..
HaProxy is by far the fastest and best light weight load balancer around in my book. I have been using it for years and will always continue to use it so I have decided to share my installation process and example config files. Nowadays websites need a 99.999% up time which just isn’t possible with 1 standalone server
CentOS 6 already has HAProxy packages available under base repository
On CentOS/RHEL 5:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Install HAProxy package using yum package manager from command line interface using following comamnd.
# yum install haproxy
Configuiring Haproxy
The config file for setting up and getting your loadbalancer (Haproxy) working is located in /etc/haproxy/haproxy.cfg
nano /etc/haproxy/haproxy.cfg
#———————————————————————
# Example configuration for a possible web application. See the
# full configuration options online.
#
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#———————————————————————
#———————————————————————
# Global settings
#———————————————————————
global
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# 1) configure syslog to accept network log events. This is done
# by adding the ‘-r’ option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# 2) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
daemon
nbproc 1
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
#———————————————————————
# common defaults that all the ‘listen’ and ‘backend’ sections will
# use if not designated in their block
#———————————————————————
defaults
#tune.chksize 36384
log global
mode http
option httplog
option dontlognull
retries 3
balance roundrobin
option redispatch
option forwardfor
option forceclose # Slows the connection
maxconn 10000
contimeout 30000
clitimeout 40000
srvtimeout 55000
stats enable # enables you to see the stats from a webpage
stats auth admin:98!n567ehny!&*
#———————————————————————
# main frontend which proxys to the backends
#———————————————————————
option httpchk GET /index.php HTTP/1.1\r\nHost:\ www.cyfordtechnologies.com
frontend all 0.0.0.0:80 # Listens on all ip address on port 80
reqidel ^X-Forwarded-For:.* # It uses the client ip address instead of letting the webserver know the request came from haproxy.. good more analysing web traffic
option forwardfor
acl acl_mail.cyfordtechnologies.com hdr_dom(host) -i mail.cyfordtechnologies.com
acl acl_www.cyfordtechnologies.com hdr_dom(host) -i www.cyfordtechnologies.com
acl acl_seo.cyfordtechnologies.com hdr_dom(host) -i seo.cyfordtechnologies.com
acl acl_Extranet.cyfordtechnologies.com hdr_dom(host) -i Extranet.cyfordtechnologies.com
acl acl_genconinc.net hdr_dom(host) -i genconinc.net
acl acl_www.heavensgateguild.com hdr_dom(host) -i heavensgateguild.com
acl acl_test.cyfordtechnologies.com hdr_dom(host) -i test.cyfordtechnologies.com
acl acl_extendeucandvraptoday.com hdr_dom(host) -i extendeucandvraptoday.com
acl acl_lifesbasics.net hdr_dom(host) -i lifesbasics.net
acl acl_lifesbasics.org hdr_dom(host) -i lifesbasics.org
acl acl_todayssocialissues.com hdr_dom(host) -i todayssocialissues.com
acl acl_sample.cyfordtechnologies.com hdr_dom(host) -i sample.cyfordtechnologies.com
acl acl_sample.cyfordtechnologies.com hdr_dom(host) -i onlinemerchantshop.com
acl acl_sample.cyfordtechnologies.com hdr_dom(host) -i gottires.com
use_backend www.cyfordtechnologies.com if acl_www.cyfordtechnologies.com
use_backend mail.cyfordtechnologies.com if acl_mail.cyfordtechnologies.com
use_backend www.cyfordtechnologies.com if acl_seo.cyfordtechnologies.com
use_backend www.cyfordtechnologies.com if acl_Extranet.cyfordtechnologies.com
use_backend www.cyfordtechnologies.com if acl_genconinc.net
use_backend Hosting if acl_www.heavensgateguild.com
use_backend www.cyfordtechnologies.com if acl_test.cyfordtechnologies.com
use_backend Hosting if acl_extendeucandvraptoday.com
use_backend Hosting if acl_lifesbasics.net
use_backend Hosting if acl_lifesbasics.org
use_backend Hosting if acl_todayssocialissues.com
use_backend www.cyfordtechnologies.com if acl_sample.cyfordtechnologies.com
#———————————————————————
# round robin balancing between the various backends
#———————————————————————
# I use mynmain websites in the first pool and usually seperate clients and others incase they move around or mine move around. i also load balanced a couple of reverse proxy servers. which uses port 3128
# Of course you would need to change the ip address to the ip of your servers
backend www.cyfordtechnologies.com
balance roundrobin
cookie SRVID insert indirect nocache
server 01-CachServer_www.cyfordtechnologies.com-3128 192.168.22.8:3128 weight 10 maxconn 200 check inter 10500
server 00-CachServer_www.cyfordtechnologies.com-3128 192.168.22.7:3128 weight 10 maxconn 200 check inter 10500
server 01-CachServer_www.cyfordtechnologies.com-80 192.168.22.8:80 weight 17 maxconn 200 check inter 10500
server 00-CachServer_www.cyfordtechnologies.com-80 192.168.22.7:80 weight 17 maxconn 200 check inter 10500
server web00_www.cyfordtechnologies.com 192.168.22.150:80 cookie SRVID weight 15 maxconn 100 check inter 15000
server web01_www.cyfordtechnologies.com 192.168.22.151:80 cookie SRVID weight 15 maxconn 100 check inter 15000
server web02_www.cyfordtechnologies.com 192.168.22.152:80 cookie SRVID weight 50 maxconn 100 check inter 15000
#server HostMonster_www.cyfordtechnologies.com 74.220.22.77:80 cookie SRVID weight 5 maxconn 5 check backup inter 15000
option redispatch # send back to dispatch in case of connection failure
#option abortonclose
option forceclose
backend www.gottires.com
balance roundrobin
cookie SRVID insert indirect nocache
server www.gottires.com 192.168.111.32:80 cookie SRVID weight 15 maxconn 100 check inter 15000
#server HostMonster_www.cyfordtechnologies.com 74.220.215.77:80 cookie SRVID weight 5 maxconn 5 check backup inter 15000
option redispatch # send back to dispatch in case of connection failure
#option abortonclose
option forceclose
backend Hosting
balance roundrobin
cookie SRVID insert indirect nocache
server web00_www.cyfordtechnologies.com 192.168.44.150:80 cookie SRVID weight 15 maxconn 100 check inter 15000
server web01_www.cyfordtechnologies.com 192.168.44.151:80 cookie SRVID weight 15 maxconn 100 check inter 15000
server web02_www.cyfordtechnologies.com 192.168.44.152:80 cookie SRVID weight 50 maxconn 100 check inter 15000
#server HostMonster_www.cyfordtechnologies.com 74.220.215.77:80 cookie SRVID weight 5 maxconn 5 check backup inter 15000
option redispatch # send back to dispatch in case of connection failure
#option abortonclose
option forceclose
backend mail.cyfordtechnologies.com
server srv_mail.cyfordtechnologies.com 192.168.22.110:80 weight 10 maxconn 100 inter 20000
option abortonclose
backend www.heavensgateguild.com
server 00-CachServer_www.cyfordtechnologies.com-3128 192.168.33.7:3128 weight 10 maxconn 200 check inter 10500
server 01-CachServer_www.cyfordtechnologies.com-3128 192.168.33.8:3128 weight 10 maxconn 200 check inter 10500
server web_www.cyfordtechnologies.com 192.168.33.150:80 cookie SRVID weight 9 maxconn 100 check backup inter 15000
option abortonclose
option redispatch
Start Haproxy and make it start with system boot
# service haproxy start ; chkconfig haproxy on
Published on: Mar 03, 2021
No Comments yet! Be the first one to write.