In this tutorial, we will show you how to install HAproxy on Debian 12. HAProxy, an acronym for High Availability Proxy, is a popular open-source load balancer and proxy server for TCP and HTTP-based applications. It’s particularly suited for high-traffic websites and is often deployed by default in cloud platforms.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘
sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of HAproxy TCP/HTTP load balancer on a Debian 12 (Bookworm).
- A server running one of the following operating systems: Debian 12 (Bookworm).
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for HAproxy.
- A user account with sudo privileges to execute administrative commands.
Install HAproxy on Debian 12 Bookworm
Step 1. Start by updating your system’s package list to ensure you have the latest versions of the required software. Run the following command:
sudo apt update sudo apt upgrade
Step 2. Installing HAproxy on Debian 12.
Debian’s default repositories include HAProxy, allowing for straightforward installation. Use the following command to install HAProxy:
sudo apt install haproxy
Confirm that HAProxy is installed correctly by checking its version with the following command:
Step 3. Configuration HAProxy.
After installing HAProxy, the next step is to configure it to suit your specific load balancing or proxying needs.
- Basic Configuration
Edit the HAProxy configuration file located at
/etc/haproxy/haproxy.cfg using your preferred text editor. This file guides the behavior of your HAProxy load balancer and defines how client requests are received and routed to your backend servers.
Here’s a basic configuration example:
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_back backend http_back balance roundrobin server server1 backend1.example.com:80 check server server2 backend2.example.com:80 check
This configuration directs traffic on port 80 to the backend servers in a round-robin fashion. The
stats uri line enables HAProxy statistics to report at the given URI.
After configuring HAProxy, start the service and enable it to run on boot with the following commands:
sudo systemctl start haproxy sudo systemctl enable haproxy
Step 4. Access the HAProxy Statistics Page.
Now, you can access the HAProxy statistics page by navigating to
http://your_server_ip:9000/haproxy?stats in your web browser. Replace
your_server_ip with the IP address of your HAProxy server.
Step 5. Troubleshooting.
If you encounter issues with HAProxy, there are several tools at your disposal. To troubleshoot HAProxy configuration issues, use the
haproxy -c command. This tool will parse your HAProxy files and detect any errors or missing settings before attempting to start the service:
haproxy -c -f /etc/haproxy/haproxy.cfg
For in-depth troubleshooting, examining HAProxy’s log files will usually indicate a specific error, with helpful diagnostic messages and error codes.
Congratulations! You have successfully installed HAproxy. Thanks for using this tutorial for installing the latest version of HAproxy on Debian 12 Bookworm. For additional help or useful information, we recommend you check the official HAproxy website.