Kami menyiapkan tiga mesin. Kami akan menginstal HAproxy di satu server dan server web Apache di dua server. Server HAproxy kami kemudian bertindak sebagai penyeimbang beban dan mendistribusikan beban ke seluruh server web Apache.
Catatan: Prosedur dan perintah yang disebutkan dalam posting ini telah diuji di Ubuntu 20.04 LTS (Focal Fossa). Prosedur yang sama juga berlaku untuk distribusi Debian dan Mint.
Detail 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 frontend)Nama host:Webserver1, alamat IP:192.168.72.158 (server backend)
Nama host:Webserver2, alamat IP:192.168.72.159 (server backend)
Catatan: Anda harus memiliki hak sudo di semua server.
Kami akan mengkonfigurasi satu komputer sebagai penyeimbang beban dan dua lainnya sebagai server web. Server HAproxy akan menjadi server front-end kami, menerima permintaan pengguna dan meneruskannya ke dua server web. Server web adalah server backend kami yang menerima permintaan yang diteruskan ini.
Pengaturan kami terlihat seperti ini:
Menyiapkan server backend server web
Di bagian ini kita akan menyiapkan dua server web (Webserver1 dan Server Web2 ) sebagai server backend kami.
Di server web1(192.168.72.158)
Selesaikan langkah-langkah berikut di server web Anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host server web Anda yang sesuai.
1. Konfigurasikan file host
Di Server Web1, Edit /etc/hosts Berkas:
$ sudo nano /etc/hostsKemudian tambahkan entri nama host untuk . tambahkan HAproxy Server sebagai berikut:
host-name-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 berikut di terminal. Kunjungi juga pos kami di Cara Memasang Server Web Apache di Linux.
$ sudo cocok Instal Apache2Kemudian aktifkan dan mulai layanan Apache menggunakan perintah berikut di terminal:
$ sudo systemctl aktifkan apache2$ sudo systemctl start apache2
Buat file indeks untuk Webserver1 Gunakan perintah berikut di terminal:
$echo”Halo! Ini adalah webserver1:192.168.72.158
“ | sudo tee /wo/www/html/index.html
Jika Anda memiliki firewall yang berjalan di sistem Anda, Anda harus mengizinkan lalu lintas Apache melaluinya:
$ sudo ufw izinkan 80/tcpKemudian muat ulang konfigurasi firewall:
Muat ulang $ufwSekarang coba akses situs di browser web Anda dengan mengetik https:// diikuti dengan alamat IP atau nama host server web Anda.
https:// nama host atau alamat IP
Atau, Anda dapat menggunakan perintah curl untuk menguji halaman web.
$lockPada server web-2 192.168.72.159)
Selesaikan langkah-langkah berikut di server web kedua Anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host server web Anda yang sesuai.
1. Konfigurasikan file host
Di Server Web2 , edit /etc/hosts Berkas:
$ sudo nano /etc/hostsKemudian tambahkan entri nama host untuk . tambahkan HAproxy Server sebagai berikut:
HAproxy 192.168.72.1572. Instal server web Apache
Sekarang instal server web Apache menggunakan perintah berikut di terminal.
$ sudo cocok Instal Apache2Kemudian aktifkan dan mulai layanan Apache menggunakan perintah berikut di terminal:
$ sudo systemctl aktifkan apache2$ sudo systemctl start apache2
Buat file indeks untuk Webserver2 menggunakan perintah berikut di Terminal:
$echo”Halo! Ini adalah server web2:192.168.72.159
“ | sudo tee /wo/www/html/index.html
Izinkan Apache di firewall:
$ sudo ufw izinkan 80/tcplalu muat ulang konfigurasi firewall:
Muat ulang $ufwSekarang coba akses situs di browser web Anda dengan mengetik https:// diikuti dengan alamat IP atau nama host.
https:// nama host atau alamat IP
Atau, Anda dapat menggunakan perintah curl untuk menguji halaman web.
$lockSekarang server web Apache kami sudah siap.
Siapkan Server Frontend Penyeimbang Beban HAproxy
Di bagian ini, kami menyiapkan penyeimbang beban HAproxy untuk server web kami . Server HAproxy ini bertindak sebagai server frontend dan menerima permintaan masuk dari klien.
Di HAproxy Server (192.168.72.157 ), ikuti langkah-langkah di bawah ini untuk menyiapkan penyeimbang beban.
1. Konfigurasikan file host
Edit /etc/hosts file dengan perintah berikut di terminal:
$ sudo nano /etc/hostsTambahkan entri hostname berikut untuk keduanya Apache Server web beserta nama hostnya sendiri:
192.168.72.157 HAproxy192.168.72.158 server web1
192.168.72.159 server web2
Sekarang simpan dan tutup /etc/hosts berkas.
Instal HAproxy Load Balancer
Pada langkah ini kita sekarang akan menginstal HAproxy di salah satu server Ubuntu kita (192.168.72.157). Untuk melakukan ini, perbarui apt dengan perintah berikut di terminal:
$ sudo apt-get updateKemudian perbarui paket dengan perintah berikut:
$ sudo apt-get upgradeSekarang instal HAproxy dengan perintah berikut di terminal:
$ sudo sudo cocok instal senang
Setelah instalasi server HAproxy selesai, Anda dapat mengonfirmasinya dengan perintah berikut di terminal:
$ senang -vIni akan menunjukkan versi HAproxy yang terinstal di sistem Anda, yang mengonfirmasi bahwa HAproxy berhasil diinstal.
Konfigurasikan HAproxy sebagai penyeimbang beban
Di bagian berikut, kami mengonfigurasi HAproxy sebagai penyeimbang beban. Untuk melakukannya,Edit file /etc/haproxy/haproxy.cfg Berkas:
$ sudo Nano >etc/happy/haproxy.cfgTambahkan baris berikut ke file haproxy.cfg, ganti alamat IP dengan alamat IP Anda sendiri.
?Frontend Web Frontend di baris konfigurasi di atas, HAproxy diinstruksikan untuk mendengarkan permintaan masuk pada port 80 dari 192.168.72.157 dan kemudian meneruskannya ke server backend yang berjalan di bawah file . dikonfigurasi backend Backend web . Selama konfigurasi, ganti alamat IP dengan alamat IP yang sesuai dari server web Anda.
Konfigurasikan 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 ke file konfigurasi di /etc/haproxy/haproxy.cfg :
dengarkan statsbind 192.168.72.157:8080
mode http
opsi forwardfor
opsi httpclose
aktifkan stats
stats show legends
stats update 5s
stats /stats
stats realm haproxy stats
stats auth kbuzdar:kbuzdar #login user dan password untuk monitoring
stats admin jika BENAR
default_backend web backend
Konfigurasi di atas mengaktifkan HAproxy "Statistik “ Halaman Statistik kebijakan dan amankan dengan http Otentikasi dasar dengan nama pengguna dan sandi diperoleh dari Otentikasi statistik Kebijakan.
Setelah Anda selesai dengan konfigurasi, simpan dan tutup file haproxy.cfg.
Sekarang periksa file konfigurasi menggunakan perintah berikut di terminal:
$ senang -C -F /etc/happy/haproxy.cfgOutput berikut menunjukkan bahwa konfigurasi sudah benar.
Sekarang untuk menerapkan konfigurasi, mulai ulang layanan HAproxy:
$ sudo systemctl restart haproxy.serviceItu berhenti dan kemudian memulai layanan HAproxy.
Untuk memeriksa status layanan HAproxy, perintahnya adalah:
$ sudo systemctl-status haproxy.serviceaktif (sedang berlangsung) status dalam output berikut menunjukkan bahwa server HAproxy diaktifkan dan berjalan dengan benar.
Berikut adalah beberapa perintah lain untuk mengelola server HAproxy:
Untuk memulai server HAproxy, perintahnya adalah:
$ sudo systemctl start haproxy.serviceUntuk menghentikan server HAproxy, perintahnya adalah:
$ sudo systemctl stop haproxy.serviceJika Anda ingin menonaktifkan sementara server HAproxy, perintahnya adalah:
$ sudo systemctl nonaktifkan haproxy.serviceUntuk mengaktifkan kembali server HAproxy, perintahnya adalah:
$ sudo systemctl aktifkan haproxy.serviceUji HAproxy
Sebelum menguji pengaturan HAproxy, pastikan Anda memiliki konektivitas ke server web. Dari server HAproxy Anda, ping kedua server web menggunakan alamat IP atau nama host mereka.
$ ring nama host atau alamat IPOutput berikut menunjukkan bahwa server HAproxy dapat menjangkau kedua server web.
Uji proxy HA dengan browser web
Sekarang buka browser web apa pun di server HAproxy Anda dan ketik https:// diikuti oleh alamat IP server HAproxy, yang dalam kasus kami adalah 192.168.72.157.
https://192.168.72.157Server HAproxy secara alternatif mengirimkan permintaan ke kedua server web dalam prosedur round-robin. Anda dapat mengujinya dengan memuat ulang halaman web beberapa kali.
Ini adalah respon yang kami terima saat pertama kali melihat https://192.168.72.157:
Ini adalah respons yang kami dapatkan saat memuat ulang halaman web:
Anda juga dapat menggunakan nama host alih-alih alamat IP server HAproxy.
Uji proxy HA dengan curl
Anda juga dapat menggunakan perintah curl di Linux untuk menguji pengaturan HAproxy. Buka terminal dan ketik curl 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; telah melakukan
Menguji Pemantauan HAproxy
Untuk mengakses halaman pemantauan HAproxy, ketik https:// diikuti oleh alamat IP/nama host server HAproxy dan port 8080/stats:
https://192.168.72.157:8080/Statistikatau
https://HA-Proxy:8080/StatistikKotak otentikasi berikut akan muncul. Masukkan nama pengguna dan sandi dikonfigurasi sebelumnya dalam konfigurasi, lalu tekan OK .
Ini adalah laporan statistik untuk server HAproxy kami.
Di sana Anda memiliki instalasi dan konfigurasi HAproxy Load Balancer pada sistem Linux. Kami baru saja membahas pengaturan dan konfigurasi dasar 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. Untuk informasi lebih lanjut, lihat dokumentasi resmi HAproxy
Cara Menginstal Telegram di Debian 11
Cara Menginstal Firewall CSF di Debian 11
Pemantauan Server dengan Munin dan Monit di Debian 8 (Jessie)