HAProxy is a network software application that
offers high availability, load balancing, and proxying for TCP and HTTP
network applications. It is suited for high traffic and powers many
websites. This article will show you how to install and setup HAProxy on
Ubuntu 14.04.
Although HAProxy has several prominent features, this article focuses on how to setup HAProxy to "proxy" your web application.
In the default section, add the following lines under
After you have finished configuring the frontend, you can now add your backend by adding the following lines to the end of your configuration:
When you are done, save the configuration file, then restart HAProxy by running:
Although HAProxy has several prominent features, this article focuses on how to setup HAProxy to "proxy" your web application.
Installing HAProxy
Since Ubuntu 14.04 does not ship with HAProxy 1.5 (latest stable release at time of writing), we will have to use a PPA to be able to install it usingapt-get
:Next, update the system:add-apt-repository ppa:vbernat/haproxy-1.5
Now install HAProxy with the following command:apt-get update apt-get dist-upgrade
If everything is successful, then you have finished installing HAProxy and can proceed to the next step.apt-get install haproxy
Configuring HAProxy
The HA Proxy configuration file is split up into two sections – "global", and "proxies". One deals with process-wide configuration, while the other consists of default configuration, frontend, and backend sections.Global Section
With your favorite text editor, open/etc/haproxy/haproxy.cfg
and you will notice the predefined sections: "global" and "defaults". The first thing that you may want to do is increase the maxconn
to a reasonable size, as this affects the connections that HAProxy
allows. Too many connections may cause your web service to crash due to
many requests. You will need to adjust the size to see what works for
you. In the global section, add or change maxconn
to 3072.In the default section, add the following lines under
mode http
:This will addoption forwardfor option http-server-close
X-Forwarded-For
headers to each request, as well as reduce the latency between HAProxy and to preserve client persistent connections.Proxies Section
Frontend and Backend
Commonly, the first thing when it comes to using is to setup a frontend to handle HTTP connections. Add the following:Note: Be sure to replacefrontend http-frontend bind public_ip:80 reqadd X-Forwarded-Proto:\ http default_backend wwwbackend
public_ip
with your domain or your public ip. Otherwise, this entire setup will not work.After you have finished configuring the frontend, you can now add your backend by adding the following lines to the end of your configuration:
The backend configuration used here creates a connection namedbackend wwwbackend server 1-www private_ip_1:80 check server 2-www private_ip_2:80 check server 3-www private_ip_3:80 check
X-www
to private_ip_X:80
(Replace X with 1 – 3. and replace private_ip_X
with your private or public ip). This will allow you to load balance
between each server set (assuming you have more than one server). The check
option makes the load balancer perform health checks on the server.When you are done, save the configuration file, then restart HAProxy by running:
service haproxy restart
If everything is working, then you will be able to connect to http://public_ip/
(replacing it with your Vultr VPS IP) and view your website.
No comments:
Post a Comment