Ubuntu

Cara memasang dan mengkonfigurasi HAproxy pada Ubuntu 20.04 LTS

Cara memasang dan mengkonfigurasi HAproxy pada Ubuntu 20.04 LTS
HAproxy adalah pakej sumber terbuka dan ringan yang menawarkan ketersediaan dan pengimbangan beban tinggi untuk program berasaskan TCP dan HTTP. Ia mengagihkan beban di antara pelayan web dan aplikasi. HAproxy tersedia untuk hampir semua pengedaran Linux. Ini adalah pengimbang beban yang digunakan secara meluas dan terkenal dengan kecekapan, kebolehpercayaan, dan memori dan jejak CPU yang rendah. Dalam catatan ini, kami akan menerangkan cara memasang dan mengkonfigurasi HAproxy pada sistem Ubuntu.

Kami mempunyai tiga mesin. Kami akan memasang HAproxy pada satu pelayan dan pelayan web Apache pada dua pelayan. Pelayan HAproxy kami kemudiannya akan bertindak sebagai penyeimbang beban dan akan mengagihkan beban di antara pelayan web Apache.

Nota: Prosedur dan arahan yang dinyatakan dalam catatan ini telah diuji Ubuntu 20.04 LTS (Focal Fossa). Prosedur yang sama juga berlaku untuk pengedaran Debian dan Mint.

Butiran Rangkaian

Kami akan menggunakan tiga pelayan Ubuntu; semua di rangkaian yang sama. Perincian pelayan kami adalah seperti berikut:

Nama Hos: HAproxy, alamat IP: 192.168.72.157 (Pelayan frontend)
Nama Hos: pelayan web1, alamat IP: 192.168.72.158 (pelayan Backend)
Nama Hos: pelayan web2, alamat IP: 192.168.72.159 (pelayan Backend)

Nota: Anda mesti mempunyai hak istimewa sudo di semua pelayan.

Kami akan mengkonfigurasi satu mesin sebagai pengimbang beban dan dua yang lain sebagai pelayan web. Pelayan HAproxy akan menjadi pelayan front-end kami yang akan menerima permintaan dari pengguna dan meneruskannya ke dua pelayan web. Pelayan web akan menjadi pelayan Backend kami yang akan menerima permintaan yang diteruskan.

Beginilah rupa persediaan kami:

Menyiapkan pelayan web-pelayan Backend

Di bahagian ini, kami akan menyediakan dua pelayan web (pelayan web1 dan pelayan web2) sebagai pelayan backend kami.

Pada pelayan web1 (192.168.72.158)

Lakukan langkah-langkah berikut di pelayan web anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host pelayan web anda yang berkenaan.

1. Konfigurasikan fail hos

Dihidupkan pelayan web1, sunting / dll / tuan rumah fail:

$ sudo nano / etc / host

Kemudian tambahkan entri nama host untuk Proksi HA pelayan seperti berikut:

nama host-of-HAproxy IP-address-of-HAproxy

Dalam senario kami, ia adalah:

HAproksi 192.168.72.157

2. Sediakan pelayan web Apache

Sekarang pasang pelayan web Apache menggunakan perintah di bawah di Terminal. Anda juga boleh melayari kiriman kami di Cara memasang pelayan web Apache di Linux.

$ sudo apt install apache2

Kemudian aktifkan dan mulakan perkhidmatan Apache menggunakan arahan di bawah di Terminal:

$ sudo systemctl mengaktifkan apache2
$ sudo systemctl mulakan apache2

Buat fail indeks untuk pelayan web1 menggunakan arahan di bawah di Terminal:

$ gema "

Helo! Ini adalah pelayan laman web 1: 192.168.72.158

"| sudo tee / var / www / html / index.html

Sekiranya firewall berjalan di sistem anda, anda perlu membenarkan lalu lintas Apache melaluinya:

$ sudo ufw membenarkan 80 / tcp

Kemudian muatkan semula konfigurasi firewall:

Muat semula $ ufw

Sekarang cuba mengakses laman web dalam penyemak imbas web anda dengan menaip http: // diikuti oleh sama ada alamat IP atau nama host pelayan web anda.

http: // nama host-atau-IP-alamat

Sebagai alternatif, anda juga boleh menggunakan perintah curl untuk menguji halaman web.

$ ikal

Pada pelayan web-2 192.168.72.159)

Lakukan langkah-langkah berikut di pelayan web kedua anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host pelayan web anda yang berkenaan.

1. Konfigurasikan fail hos

Dalam pelayan web2, sunting / dll / tuan rumah fail:

$ sudo nano / etc / host

Kemudian tambahkan entri nama host untuk Proksi HA pelayan seperti berikut:

HAproksi 192.168.72.157

2. Pasang pelayan web Apache

Sekarang pasang pelayan web Apache menggunakan perintah di bawah di Terminal.

$ sudo apt install apache2

Kemudian aktifkan dan mulakan perkhidmatan Apache menggunakan arahan di bawah di Terminal:

$ sudo systemctl mengaktifkan apache2
$ sudo systemctl mulakan apache2

Buat fail indeks untuk pelayan web2 menggunakan perintah di bawah di Terminal:

$ gema "

Helo! Ini adalah pelayan laman web2: 192.168.72.159

"| sudo tee / var / www / html / index.html

Benarkan Apache di firewall:

$ sudo ufw membenarkan 80 / tcp

dan kemudian muatkan semula konfigurasi firewall:

Muat semula $ ufw

Sekarang cuba mengakses laman web dalam penyemak imbas web anda dengan menaip http: // diikuti oleh sama ada alamat IP atau nama host.

http: // nama host-atau-IP-alamat

Sebagai alternatif, anda boleh menggunakan perintah curl untuk menguji halaman web.

$ ikal

Kini pelayan web Apache kami sudah siap.

Menyiapkan pelayan pengimbang beban HAproxy-Frontend

Di bahagian ini, kami akan menyediakan pengimbang beban HAproxy untuk kami pelayan web. Pelayan HAproxy ini akan bertindak sebagai pelayan frontend dan menerima permintaan masuk dari klien.

Pada Proksi HA pelayan (192.168.72.157), lakukan langkah-langkah di bawah ini untuk menyediakan pengimbang beban.

1. Konfigurasikan fail hos

Edit / dll / tuan rumah fail menggunakan arahan di bawah di Terminal:

$ sudo nano / etc / host

Tambahkan entri nama host berikut untuk kedua-duanya Apache pelayan web bersama dengan nama hosnya sendiri:

192.168.72.157 HAproksi
192.168.72.158 pelayan web1
192.168.72.159 pelayan web2

Sekarang simpan dan tutup / dll / tuan rumah fail.

Memasang pengimbang beban HAproxy

Sekarang dalam langkah ini, kami akan memasang HAproxy pada salah satu pelayan Ubuntu kami (192.168.72.157). Untuk melakukannya, kemas kini apt menggunakan perintah berikut di Terminal:

$ sudo apt-get kemas kini

Kemudian kemas kini pakej menggunakan arahan di bawah:

$ sudo apt-get peningkatan

Sekarang pasang HAproxy menggunakan arahan berikut di Terminal:

$ sudo sudo apt memasang haproxy

Setelah pemasangan pelayan HAproxy selesai, anda boleh mengesahkannya menggunakan arahan di bawah di Terminal:

$ haproxy -v

Ia akan menunjukkan kepada anda versi HAproxy yang dipasang pada sistem anda yang mengesahkan bahawa HAproxy telah berjaya dipasang.

Mengkonfigurasi HAproxy sebagai pengimbang beban

Pada bahagian berikut, kami akan mengkonfigurasi HAproxy sebagai pengimbang beban. Untuk berbuat demikian, edit / etc / haproxy / haproxy.cfg fail:

$ sudo nano / etc / haproxy / haproxy.cfg

Lampirkan baris berikut dalam haproxy.fail cfg menggantikan alamat IP dengan alamat IP anda sendiri.

The frontend web-frontend dalam baris konfigurasi di atas memberitahu HAproxy untuk mendengar permintaan masuk di port 80 daripada 192.168.72.157 dan kemudian meneruskannya ke pelayan backend yang dikonfigurasi di bawah backend latar belakang web. Semasa mengkonfigurasi, ganti alamat IP dengan alamat IP yang relevan dari pelayan web anda.

Mengkonfigurasi Pemantauan HAproksi

Dengan pemantauan HAproxy, anda dapat melihat banyak maklumat termasuk status pelayan, data yang dipindahkan, waktu operasi, kadar sesi, dll. Untuk mengkonfigurasi pemantauan HAproxy, tambahkan baris berikut dalam fail konfigurasi yang terletak di / etc / haproxy / haproxy.cfg:

dengar statistik
mengikat 192.168.72.157: 8080
mod http
opsyen ke hadapan untuk
pilihan httpclose
statistik membolehkan
statistik menunjukkan-legenda
statistik menyegarkan 5
statistik uri / statistik
stats realm Haproxy \ Statistik
stats auth kbuzdar: kbuzdar         #Login Pengguna dan Kata Laluan untuk pemantauan
pentadbir statistik sekiranya BENAR
laman web backend default_backend

Konfigurasi di atas membolehkan HAproxy â € œstatistikâ € halaman menggunakan statistik arahan dan selamatkannya dengan http pengesahan asas menggunakan nama pengguna dan kata laluan yang ditentukan oleh stats author arahan.

Setelah selesai dengan konfigurasi, simpan dan tutup haproxy.fail cfg.

Sekarang sahkan fail konfigurasi menggunakan arahan di bawah di Terminal:

$ haproxy -c -f / etc / haproxy / haproxy.cfg

Output berikut menunjukkan bahawa konfigurasi betul.

Sekarang untuk menerapkan konfigurasi, mulakan semula perkhidmatan HAproxy:

$ sudo systemctl mulakan semula haproxy.perkhidmatan

Ia akan berhenti dan kemudian memulakan perkhidmatan HAproxy.

Untuk memeriksa status perkhidmatan HAproxy, arahannya adalah:

$ sudo systemctl status haproxy.perkhidmatan

The aktif (berjalan) status dalam output berikut menunjukkan bahawa pelayan HAproxy diaktifkan dan berjalan dengan baik.

Berikut adalah beberapa arahan lain untuk menguruskan pelayan HAproxy:

Untuk memulakan pelayan HAproxy, arahannya adalah:

$ sudo systemctl mulakan haproxy.perkhidmatan

Untuk menghentikan pelayan HAproxy, arahannya adalah:

$ sudo systemctl menghentikan haproxy.perkhidmatan

Sekiranya anda ingin mematikan pelayan HAproxy buat sementara waktu, arahannya adalah:

$ sudo systemctl lumpuhkan haproxy.perkhidmatan

Untuk mengaktifkan semula pelayan HAproxy, arahannya adalah:

$ sudo systemctl mengaktifkan haproxy.perkhidmatan

Uji Proksi HA

Sebelum menguji persediaan HAproxy, pastikan anda mempunyai sambungan ke pelayan web. Dari pelayan HAproxy anda, ping kedua pelayan web sama ada dengan alamat IP atau nama host mereka.

$ ping nama host-atau-ip-alamat

Output berikut menunjukkan bahawa pelayan HAproxy dapat menjangkau kedua-dua pelayan web.

Uji Proksi HA menggunakan penyemak imbas web

Sekarang di pelayan HAproxy anda, buka mana-mana penyemak imbas web dan taip http: // diikuti dengan alamat IP pelayan HAproxy yang dalam kes kami adalah 192.168.72.157.

http: // 192.168.72.157

Pelayan HAproxy secara alternatif akan menghantar permintaan ke kedua pelayan web dengan kaedah round-robin. Anda boleh mengujinya dengan memuat semula halaman web beberapa kali.

Ini adalah tindak balas yang kami terima semasa melawat http: // 192.168.72.157 buat pertama kalinya:

Ini adalah tindak balas yang kami terima semasa memuat semula halaman web:

Anda juga boleh menggunakan nama host sebagai ganti alamat IP pelayan HAproxy.

Uji Proksi HA menggunakan keriting

Anda juga boleh menggunakan perintah curl di Linux untuk menguji persediaan HAproxy. Buka Terminal dan taip kerinting diikuti dengan alamat IP atau nama hos pelayan HAproxy.

$ curl 192.168.72.157

atau

$ curl HAproksi

Jalankan perintah curl beberapa kali dan anda akan melihat tindak balas bergantian antara kedua-dua pelayan web.

Daripada menjalankan perintah beberapa kali, anda juga boleh menjalankan skrip satu baris berikut untuk menguji pelayan HAproxy:

$ selagi benar; lakukan curl 192.168.72.157; tidur 1; selesai

Menguji Pemantauan HAproksi

Untuk mengakses halaman pemantauan HAproxy, ketik http: // diikuti dengan alamat IP / nama host pelayan HAproxy dan port 8080 / statistik:

http: // 192.168.72.157: 8080 / statistik

atau

http: // HAproksi: 8080 / statistik

Kotak pengesahan berikut akan muncul. Masukkan nama pengguna dan kata laluan anda telah mengkonfigurasi sebelumnya dalam konfigurasi dan kemudian tekan okey.

Ini adalah laporan statistik untuk pelayan HAproxy kami.

Di sana anda mempunyai pemasangan dan konfigurasi pengimbang beban HAproxy pada sistem Linux. Kami baru sahaja membincangkan penyediaan asas dan konfigurasi HAproxy sebagai penyeimbang beban untuk pelayan web Apache. Kami juga melihat beberapa arahan untuk menguruskan pelayan HAproxy. Pada akhirnya, kami menguji load balancing melalui penyemak imbas dan perintah curl. Untuk maklumat lebih lanjut, lawati dokumentasi rasmi HAproxy

Ngrok
Ngrok adalah alat lintas platform yang menggunakan perkhidmatan cloud untuk mendedahkan perkhidmatan rangkaian tempatan di belakang NAT dan firewall m...
Bagaimana mencari alamat IP anda di Linux?
Alamat IP adalah alamat rangkaian peranti anda ketika menghubungkan ke internet atau rangkaian kawasan setempat. Di internet, alamat IP dialokasikan u...
Cara Menyiapkan, Mengubah, dan Menghapus Jambatan dan Ikatan Rangkaian Linux
Dalam panduan ini, kita akan membincangkan dua konsep rangkaian penting yang menjalin hubungan dan ikatan. Kami akan melihat bagaimana mengatur, mengu...