DevOps
HAPROXY up and running in couple of minutes
I tried HAPROXY for my WEBAPP (Hosted on tomcat) -reason for using HAPROXY is that it also supports WEBSOCKETS and my current project uses websockets for server push.
As first step, I tested it with bare bone web application -wow, it’s just so easy, without any hiccups it was up and working in ~30 minutes. I used Linux box as no distribution for windows is available (One can use cygwin) -My previous poston same.
- Download HAPROXY , I used version haproxy-1.4.24.
- Untar it tar -xvf haproxy-1.4.24.tar.gz.
- Build HAPROXY, command “make TARGET=linux26″ This is for centos58, Linux kernel 2.6. 26 in “TARGET=linux26″ indicates kernel for linux, if its 2.4 use TARGET=linux24″. As a side note, to know the kernel use uname -a on your linux box.
- copy haproxy to /usr/sbin use “cp haproxy /usr/sbin/haproxy”
- Create a config file say /etc/haproxy_chandan.cfg:
- A mentioned on the HAPROXY site, this is the bare minimum configuration needed -Add it to the config file010203040506070809101112131415161718192021
global
daemon
maxconn
256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:
80
default_backend websockets_support
backend websockets_support
server ws1 a.b.c.d:
8888
maxconn
32
server ws2 a.b.c.d:
8080
maxconn
32
listen admin
bind *:
8080
stats enable
- Start HAPROXY, /usr/sbin/haproxy -f /etc/haproxy_chandan.cfg
- As configured, requests will be handled at port 80 while the admin console for haproxy is 8080
- Access your app from http://ipofmachinewherehaproxyisinstalled:80
- Access haproxy admin console from http://ipofmachinewherehaproxyisinstalled:8080
Thats all. Moving on to configure it for WebSockets and see if it needs additional configuration tweaks or changes -will post.
Reference: HAPROXY up and running in couple of minutes from our JCG partner Chandan Pandey at the Thoughts on Software design and development blog.