Keepalived, HAProxy and varnish: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Setting up Keepalived, HAProxy and Varnish = == Install & setup Keepalived == == Install & setup HAProxy == == Install & setup Varnish ==") |
No edit summary |
||
Line 1: | Line 1: | ||
= Setting up Keepalived, HAProxy and Varnish = |
= Setting up Keepalived, HAProxy and Varnish = |
||
Assuming debian install, but packages should exists for popular distroes as well |
|||
== Install |
== Install packages == |
||
<pre> |
|||
aptitude install keepalived varnish haproxy |
|||
</pre> |
|||
⚫ | |||
== |
== Setup keepalived == |
||
MASTER: |
|||
Edit |
|||
<code>/etc/keepalived/keepalived.conf</code> |
|||
<pre> |
|||
vrrp_script chk_haproxy { # Requires keepalived-1.1.13 |
|||
script "killall -0 haproxy" # cheaper than pidof |
|||
interval 2 # check every 2 seconds |
|||
weight 2 # add 2 points of prio if OK |
|||
} |
|||
vrrp_script chk_nginx { # Requires keepalived-1.1.13 |
|||
script "killall -0 nginx" # cheaper than pidof |
|||
interval 2 # check every 2 seconds |
|||
weight 2 # add 2 points of prio if OK |
|||
} |
|||
vrrp_instance VI_1 { |
|||
interface eth0 |
|||
state MASTER |
|||
virtual_router_id 152 |
|||
priority 101 # 101 on master, 100 on backup |
|||
virtual_ipaddress { |
|||
172.30.1.248 |
|||
} |
|||
track_script { |
|||
chk_haproxy |
|||
} |
|||
} |
|||
vrrp_instance VI_2 { |
|||
interface eth0 |
|||
state MASTER |
|||
virtual_router_id 162 |
|||
priority 101 # 101 on master, 100 on backup |
|||
virtual_ipaddress { |
|||
172.30.1.247 |
|||
} |
|||
track_script { |
|||
chk_nginx |
|||
} |
|||
} |
|||
</pre> |
|||
SLAVE: |
|||
⚫ | |||
MASTER: |
|||
<pre> |
|||
# this config needs haproxy-1.1.28 or haproxy-1.2.1 |
|||
global |
|||
log 127.0.0.1 local0 |
|||
log 127.0.0.1 local1 notice |
|||
maxconn 8196 |
|||
user haproxy |
|||
group haproxy |
|||
daemon |
|||
defaults |
|||
log global |
|||
mode http |
|||
option httplog |
|||
option dontlognull |
|||
retries 3 |
|||
option redispatch |
|||
maxconn 20000 |
|||
contimeout 5000 |
|||
clitimeout 50000 |
|||
srvtimeout 50000 |
|||
listen varnish_farm 172.30.1.248:80 |
|||
mode http |
|||
cookie SERVERID insert indirect nocache |
|||
balance roundrobin |
|||
option http-server-close |
|||
option forwardfor |
|||
stats enable |
|||
stats auth admin:Toklon |
|||
server varnish1 172.30.1.23:80 cookie varnish11 check |
|||
server varnish2 172.30.1.75:80 cookie varnish12 check |
|||
</pre> |
|||
SLAVE: |
|||
== Setup Varnish == |
|||
MASTER & SLAVE are equal on both servers. |
Revision as of 15:27, 5 September 2012
Setting up Keepalived, HAProxy and Varnish
Assuming debian install, but packages should exists for popular distroes as well
Install packages
aptitude install keepalived varnish haproxy
Setup keepalived
MASTER: Edit
/etc/keepalived/keepalived.conf
vrrp_script chk_haproxy { # Requires keepalived-1.1.13 script "killall -0 haproxy" # cheaper than pidof interval 2 # check every 2 seconds weight 2 # add 2 points of prio if OK } vrrp_script chk_nginx { # Requires keepalived-1.1.13 script "killall -0 nginx" # cheaper than pidof interval 2 # check every 2 seconds weight 2 # add 2 points of prio if OK } vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_id 152 priority 101 # 101 on master, 100 on backup virtual_ipaddress { 172.30.1.248 } track_script { chk_haproxy } } vrrp_instance VI_2 { interface eth0 state MASTER virtual_router_id 162 priority 101 # 101 on master, 100 on backup virtual_ipaddress { 172.30.1.247 } track_script { chk_nginx } }
SLAVE:
Setup HAProxy
MASTER:
# this config needs haproxy-1.1.28 or haproxy-1.2.1 global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 8196 user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull retries 3 option redispatch maxconn 20000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen varnish_farm 172.30.1.248:80 mode http cookie SERVERID insert indirect nocache balance roundrobin option http-server-close option forwardfor stats enable stats auth admin:Toklon server varnish1 172.30.1.23:80 cookie varnish11 check server varnish2 172.30.1.75:80 cookie varnish12 check
SLAVE:
Setup Varnish
MASTER & SLAVE are equal on both servers.