Kami telah menyiapkan tiga mesin. Kami akan menginstal HAproxy di satu server dan server web Apache di dua server. Server HAproxy kami kemudian akan bertindak sebagai penyeimbang beban dan akan mendistribusikan beban di antara server web Apache.
catatan: Prosedur dan perintah yang disebutkan dalam posting ini telah diuji pada Ubuntu 20.04 LTS (Fossa Fokus). Prosedur yang sama juga berlaku untuk distribusi Debian dan Mint.
Rincian jaringan
Kami akan menggunakan tiga server Ubuntu; semua di jaringan yang sama. Rincian server kami adalah sebagai berikut:
Nama host: HAproxy, alamat IP: 192.168.72.157 (Server depan)Nama host: server web1, alamat IP: 192.168.72.158 (server Backend)
Nama host: web-server2, alamat IP: 192.168.72.159 (Server backend)
catatan: Anda harus memiliki hak sudo di semua server.
Kami akan mengonfigurasi satu mesin sebagai penyeimbang beban dan dua lainnya sebagai server web. Server HAproxy akan menjadi server front-end kami yang akan menerima permintaan dari pengguna dan meneruskannya ke dua server web. Server web akan menjadi server Backend kami yang akan menerima permintaan yang diteruskan tersebut.
Ini adalah bagaimana pengaturan kami terlihat seperti:
Menyiapkan server web-server Backend
Di bagian ini, kami akan menyiapkan dua server web (web-server1 dan web-server2) sebagai server backend kami.
Di server web1 (192.168.72.158)
Lakukan langkah-langkah di bawah ini di server web Anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host yang relevan dari server web Anda.
1. Konfigurasi file host
Di web-server1, edit /etc/hosts mengajukan:
$ sudo nano /etc/hostsKemudian tambahkan entri nama host untuk proksi HA servernya sebagai berikut:
hostname-of-HAproxy IP-address-of-HAproxyDalam skenario kami, itu akan menjadi:
HAproxy 192.168.72.1572. Siapkan server web Apache
Sekarang instal server web Apache menggunakan perintah di bawah ini di Terminal. Anda juga dapat mengunjungi posting kami di Cara menginstal server web Apache di Linux.
$ sudo apt install apache2Kemudian aktifkan dan mulai layanan Apache menggunakan perintah di bawah ini di Terminal:
$ sudo systemctl aktifkan apache2$ sudo systemctl start Apache2
Buat file indeks untuk web-server1 menggunakan perintah di bawah ini di Terminal:
$echo"Halo! Ini adalah server web1: 192.168.72.158
" | sudo tee /var/www/html/index.htmlJika firewall berjalan di sistem Anda, Anda harus mengizinkan lalu lintas Apache melaluinya:
$ sudo ufw izinkan 80/tcpKemudian muat ulang konfigurasi firewall:
$ ufw isi ulangSekarang coba akses situs di browser web Anda dengan mengetik http:// diikuti dengan alamat IP atau nama host server web Anda.
http://hostname-atau-IP-address
Atau, Anda juga dapat menggunakan perintah curl untuk menguji halaman web.
$ ikalDi server web-2 192.168.72.159)
Lakukan langkah-langkah di bawah ini di server web kedua Anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host yang relevan dari server web Anda.
1. Konfigurasi file host hosts
Di web-server2, edit /etc/hosts mengajukan:
$ sudo nano /etc/hostsKemudian tambahkan entri nama host untuk proksi HA servernya sebagai berikut:
HAproxy 192.168.72.1572. Instal server web Apache
Sekarang instal server web Apache menggunakan perintah di bawah ini di Terminal.
$ sudo apt install apache2Kemudian aktifkan dan mulai layanan Apache menggunakan perintah di bawah ini di Terminal:
$ sudo systemctl aktifkan apache2$ sudo systemctl start Apache2
Buat file indeks untuk web-server2 menggunakan perintah di bawah ini di Terminal:
$echo"Halo! Ini adalah server web2: 192.168.72.159
" | sudo tee /var/www/html/index.htmlIzinkan Apache di firewall:
$ sudo ufw izinkan 80/tcplalu muat ulang konfigurasi firewall:
$ ufw isi ulangSekarang coba akses situs di browser web Anda dengan mengetik http:// diikuti dengan alamat IP atau nama host.
http://hostname-atau-IP-address
Atau, Anda dapat menggunakan perintah curl untuk menguji halaman web.
$ ikalSekarang server web Apache kami sudah siap.
Menyiapkan HAproxy load balancer-Frontend server
Di bagian ini, kami akan menyiapkan penyeimbang beban HAproxy untuk server web. Server HAproxy ini akan bertindak sebagai server frontend dan menerima permintaan masuk dari klien.
pada proksi HA pelayan (192.168.72.157), lakukan langkah-langkah di bawah ini untuk mengatur penyeimbang beban.
1. Konfigurasi file host
Mengedit /etc/hosts file menggunakan perintah di bawah ini di Terminal:
$ sudo nano /etc/hostsTambahkan entri nama host berikut untuk keduanya Apache server web bersama dengan nama hostnya sendiri:
192.168.72.157 HAproksi192.168.72.158 server web1
192.168.72.159 server web2
Sekarang simpan dan tutup /etc/hosts mengajukan.
Memasang penyeimbang beban HAproxy
Sekarang di langkah ini, kita akan menginstal HAproxy di salah satu server Ubuntu kita (192 .).168.72.157). Untuk melakukannya, perbarui apt menggunakan perintah berikut di Terminal:
$ sudo apt-get updateKemudian perbarui paket menggunakan perintah di bawah ini:
$ sudo apt-get upgradeSekarang instal HAproxy menggunakan perintah berikut di Terminal:
$ sudo sudo apt install haproxy
Setelah instalasi server HAproxy selesai, Anda dapat mengonfirmasinya menggunakan perintah di bawah ini di Terminal:
$ haproxy -vIni akan menunjukkan kepada Anda versi HAproxy yang diinstal pada sistem Anda yang memverifikasi bahwa HAproxy telah berhasil diinstal.
Mengonfigurasi HAproxy sebagai penyeimbang beban
Di bagian berikut, kami akan mengonfigurasi HAproxy sebagai penyeimbang beban. Untuk melakukannya, edit /etc/haproxy/haproxy.cfg mengajukan:
$ sudo nano /etc/haproxy/haproxy.cfgTambahkan baris berikut di haproxy.File cfg menggantikan alamat IP dengan alamat IP Anda sendiri.
Itu frontend web-frontend di baris konfigurasi di atas memberitahu HAproxy untuk mendengarkan permintaan masuk pada port 80 dari 192.168.72.157 dan kemudian meneruskannya ke server backend yang dikonfigurasi di bawah bagian belakang web-backend. Saat mengonfigurasi, ganti alamat IP dengan alamat IP yang relevan dari server web Anda.
Mengonfigurasi Pemantauan HAproxy
Dengan pemantauan HAproxy, Anda dapat melihat banyak informasi termasuk status server, data yang ditransfer, waktu aktif, kecepatan sesi, dll. Untuk mengonfigurasi pemantauan HAproxy, tambahkan baris berikut di file konfigurasi yang terletak di /etc/haproxy/haproxy.cfg:
dengarkan statistikikat 192.168.72.157:8080
modus http
opsi forwardfor
pilihan httpclose
statistik diaktifkan
legenda pertunjukan statistik
statistik menyegarkan 5 detik
statistik uri /stats
ranah statistik Haproxy\ Statistik
stats auth kbuzdar:kbuzdar         #Login User dan Password untuk monitoring
statistik admin jika TRUE
default_backend web-backend
Konfigurasi di atas memungkinkan HAproxy “statistik†halaman menggunakan statistik direktif dan mengamankannya dengan http otentikasi dasar menggunakan nama pengguna dan kata sandi yang ditentukan oleh statistik auth pengarahan.
Setelah Anda selesai dengan konfigurasi, simpan dan tutup haproksi.file cfg.
Sekarang verifikasi file konfigurasi menggunakan perintah di bawah ini di Terminal:
$ haproxy -c -f /etc/haproxy/haproxy.cfgOutput berikut menunjukkan bahwa konfigurasi sudah benar.
Sekarang untuk menerapkan konfigurasi, mulai ulang layanan HAproxy:
$ sudo systemctl restart haproxy.layananIni akan berhenti dan kemudian memulai layanan HAproxy.
Untuk memeriksa status layanan HAproxy, perintahnya adalah:
$ sudo systemctl status haproxy.layananItu aktif (berjalan) status dalam output berikut menunjukkan bahwa server HAproxy diaktifkan dan berjalan dengan baik.
Berikut adalah beberapa perintah lain untuk mengelola server HAproxy:
Untuk memulai server HAproxy, perintahnya adalah:
$ sudo systemctl start haproxy.layananUntuk menghentikan server HAproxy, perintahnya adalah:
$ sudo systemctl stop haproxy.layananJika Anda ingin menonaktifkan sementara server HAproxy, perintahnya adalah:
$ sudo systemctl nonaktifkan haproxy.layananUntuk mengaktifkan kembali server HAproxy, perintahnya adalah:
$ sudo systemctl aktifkan haproxy.layananUji HAproxy
Sebelum menguji pengaturan HAproxy, pastikan Anda memiliki konektivitas ke server web. Dari server HAproxy Anda, ping kedua server web baik dengan alamat IP atau nama hostnya.
$ ping nama host-atau-ip-addressOutput berikut menunjukkan bahwa server HAproxy dapat menjangkau kedua server web web.
Uji HA Proxy menggunakan browser web
Sekarang di server HAproxy Anda, buka browser web apa saja dan ketik http:// diikuti oleh alamat IP server HAproxy yang dalam kasus kami adalah 192.168.72.157.
http://192.168.72.157Server HAproxy sebagai alternatif akan mengirim permintaan ke kedua server web dalam metode round-robin. Anda dapat menguji ini dengan memuat ulang halaman web beberapa kali.
Ini adalah tanggapan yang kami terima ketika kami mengunjungi http://192.168.72.157 untuk pertama kalinya:
Ini adalah tanggapan yang kami terima ketika kami memuat ulang halaman web:
Anda juga dapat menggunakan nama host sebagai pengganti alamat IP server HAproxy.
Uji HA Proxy menggunakan curl
Anda juga dapat menggunakan perintah curl di Linux untuk menguji pengaturan HAproxy. Buka Terminal dan ketik keriting diikuti dengan alamat IP atau nama host server HAproxy.
$ ikal 192.168.72.157atau
$ curl HAproxyJalankan perintah curl beberapa kali dan Anda akan melihat respons bergantian antara kedua server web.
Alih-alih menjalankan perintah beberapa kali, Anda juga dapat menjalankan skrip satu baris berikut untuk menguji server HAproxy:
$ sementara benar; lakukan curl 192.168.72.157; tidur 1; selesai
Menguji Pemantauan HAproxy
Untuk mengakses halaman pemantauan HAproxy, ketik http:// diikuti dengan alamat IP/nama host server HAproxy dan port 8080/stats:
http://192.168.72.157:8080/statistikatau
http://HAproxy:8080/statsKotak otentikasi berikut akan muncul. Memasukkan nama pengguna dan kata sandi Anda telah mengonfigurasi sebelumnya dalam konfigurasi dan kemudian tekan baik.
Ini adalah laporan statistik untuk server HAproxy kami.
Di sana Anda memiliki instalasi dan konfigurasi penyeimbang beban HAproxy di sistem Linux. Kami baru saja membahas pengaturan dasar dan konfigurasi HAproxy sebagai penyeimbang beban untuk server web Apache. Kami juga melihat beberapa perintah untuk mengelola server HAproxy. Pada akhirnya, kami menguji load balancing melalui browser dan perintah curl curl. Untuk informasi lebih lanjut, kunjungi dokumentasi resmi HAproxy