HAProxy adalah solusi gratis, sumber terbuka, dan andal untuk ketersediaan tinggi dan penyeimbangan beban. Ini mendistribusikan beban di beberapa server aplikasi dan untuk menyederhanakan tugas pemrosesan permintaan. Itu dapat diinstal pada semua sistem operasi Linux utama. Ini populer karena efisiensi, keandalan, dan memori serta jejak CPU yang rendah.
Dalam posting ini, kami akan menjelaskan cara menginstal HAProxy pada sistem Debian 11.
Prasyarat
- Server yang menjalankan Debian 11 untuk HAProxy.
- Dua server yang menjalankan Debian 11 untuk server Apache Backend.
- Kata sandi root dikonfigurasi di semua server.
Menyiapkan Server Web Backend
Untuk tujuan tutorial ini, Anda perlu menyiapkan dua server Apache backend.
Pada server backend pertama, instal paket Apache dengan perintah berikut:
apt-get install apache2 -y
Setelah Apache diinstal, buat contoh halaman indeks Apache menggunakan perintah berikut:
echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html
Pada server backend kedua, instal paket Apache dengan perintah berikut:
apt-get install apache2 -y
Selanjutnya, buat contoh halaman indeks Apache menggunakan perintah berikut:
echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal HAProxy
Secara default, HAProxy disertakan dalam repositori default Debian 11. Anda dapat menginstalnya dengan menjalankan perintah berikut:
apt-get install haproxy -y
Setelah HAProxy diinstal, mulai layanan HAProxy dan aktifkan untuk memulai saat sistem di-boot ulang:
systemctl start haproxy
systemctl enable haproxy
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi HAProxy
Selanjutnya, Anda perlu mengedit file konfigurasi default HAProxy dan menentukan server web backend.
nano /etc/haproxy/haproxy.cfg
Tambahkan baris berikut:
frontend apache_front # Frontend listen port - 80 bind *:80 # Set the default backend default_backend apache_backend_servers # Enable send X-Forwarded-For header option forwardfor # Define backend backend apache_backend_servers # Use roundrobin to balance traffic balance roundrobin # Define the backend servers server backend01 192.168.1.10:80 check server backend02 192.168.1.11:80 check
Simpan dan tutup file setelah Anda selesai.
Di mana :192.168.1.10 adalah alamat IP server backend Apache pertama dan 192.168.1.11 adalah alamat IP server backend Apache kedua.
Selanjutnya, restart layanan HAProxy untuk menerapkan perubahan:
systemctl restart haproxy
Anda sekarang dapat memeriksa status HAProxy dengan perintah berikut:
systemctl status haproxy
Anda akan mendapatkan output berikut:
? haproxy.service - HAProxy Load Balancer Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-11-07 03:47:14 UTC; 9s ago Docs: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS) Main PID: 86680 (haproxy) Tasks: 3 (limit: 4679) Memory: 34.2M CPU: 61ms CGroup: /system.slice/haproxy.service ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer... Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer. Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
Verifikasi HAProxy
Pada titik ini, HAProxy dikonfigurasi dan dijalankan. Sekarang, saatnya menguji HAProxy.
Buka browser web Anda dan ketik URL http://your-haproxy-ip . Anda akan melihat bahwa HAProxy mengirimkan permintaan ke server backend satu per satu setelah setiap penyegaran.
Kesimpulan
Selamat! Anda telah berhasil menginstal HAProxy di Debian 11. Sekarang Anda dapat mengimplementasikan HAProxy di lingkungan produksi untuk meningkatkan kinerja dan ketersediaan aplikasi web Anda.