GNU/Linux >> Belajar Linux >  >> Linux

Setup Load Balancing dengan HAProxy, Nginx dan Keepalive di Linux

Dalam metode konvensional hosting server atau situs web, server di-host melalui server HTTP tunggal. Ketika klien menekan di server, mereka diizinkan di server. Tapi, apa yang terjadi ketika banyak pengguna, bahkan lebih; ribuan klien, mengunjungi situs sekaligus untuk beberapa permintaan? Apa yang akan terjadi jika server crash? Bagaimana server tunggal akan menyeimbangkan beban? Untuk menjawab semua pertanyaan ini, kita dapat menggunakan istilah 'Load balancing'. Jika Anda mencari alat otentik untuk mengelola lalu lintas server Anda, Anda pasti dapat menyiapkan HAProxy, Nginx, dan Keepalive di Linux untuk penyeimbangan beban.

Dasar-dasar HAProxy, Nginx, dan Keepalive

Nginx terkenal dengan load balancing dan layanan proxy. Di server penyeimbang beban, klien terhubung ke server melalui penyeimbang beban alih-alih terhubung langsung dengan server. Menggunakan Nginx, HAProxy, dan Keepalive berfungsi dengan baik untuk penyeimbangan beban di Linux. Saat server mogok, penyeimbang beban menghubungkan klien ke server lain yang online.

HAProxy adalah alat penyeimbang beban sumber terbuka dan gratis untuk server web HTTP dan TCP. Itu ditulis dalam bahasa pemrograman C dan dilisensikan di bawah lisensi publik GNU. Hal ini sangat completable dan mudah untuk setup untuk load balancing di Linux. Istilah HAProxy adalah singkatan dari alat proxy Ketersediaan Tinggi. Anda dapat menerapkan alat HAProxy untuk meningkatkan kinerja server, ketersediaan, dan penyeimbangan beban.

Alat Keepalive bertindak sebagai perantara antara dua server yang dapat mengarahkan klien dari satu server ke server lain ketika salah satu dari mereka sedang down. Keepalive bekerja dalam protokol redundansi router virtual untuk penyeimbangan beban dan mengurangi masalah kegagalan server. Menggunakan HAProxy bagus untuk penyeimbangan beban dan membuat server selalu aktif.

Oleh karena itu, tidak ada jaminan bahwa HAProxy akan selalu hidup. Ini dia Keepalive untuk mencadangkan HAProxy Anda. Itu dapat mendistribusikan permintaan klien ke server yang berlokasi jauh dan menangani penyeimbangan beban lapisan-4, lapisan-7 (lapisan transportasi dan aplikasi). Selain itu, HAProxy dapat menangani daftar kontrol akses, backend, dan terminologi frontend.

Load balancing dengan HAProxy, Nginx, dan Keepalive di Linux

Karena kita telah berbicara banyak tentang HAproxy, Nginx, dan alat Keepalive untuk Linux, jadi mari kita masuk ke tutorial. Dalam posting ini, kita akan melihat cara mengatur load balancing dengan HAProxy, Nginx, dan Keepalive di Linux. Kami akan membutuhkan pengetahuan tingkat server yang mendasar dan kemampuan dasar untuk menggunakan Linux untuk melanjutkan posting ini.

Langkah 1:Instal Nginx di Linux untuk Load Balancing

Karena kita akan melihat metode untuk membuat server kita lebih kuat, penyeimbangan beban, dan penanganan klien yang lebih banyak, menginstal server web HTTP Nginx akan menjadi langkah pertama untuk memulai proses. Menginstal server web Nginx mudah dan langsung, dan Anda dapat menggunakan perintah berikut untuk menginstal server web Nginx di mesin Linux Anda.

  • Instal server web Nginx di Ubuntu/Linux Debian
sudo apt update
sudo apt install nginx
- -

  • Jalankan perintah berikut untuk menginstal Nginx di Fedora/Red Hat Linux
yum -y install nginx

Setelah menginstal server Nginx, kami akan mengonfigurasi, mengaktifkan, dan memulai server di mesin Anda. Silakan baca postingan ini untuk melihat cara memulai server Nginx di Linux.

Langkah 2:Instal HAproxy Load Balancer di Linux

Setelah menginstal dan mengonfigurasi server Nginx di mesin Linux Anda, itu mungkin berfungsi dengan baik sebagai server di mesin atau jaringan Anda. Namun, karena kita di sini mencoba membuat server penyeimbang beban, sekarang kita akan menginstal dan mengonfigurasi alat HAproxy di sistem kita.

1. Instal dan Konfigurasi HAproxy di Ubuntu untuk Load Balancing

Sebelum Anda menginstal HAProxy di sistem Anda, Anda mungkin ingin memeriksa apakah layanan HAProxy sudah ada di sistem Anda atau belum.

sudo apt show haproxy

Sekarang, tambahkan repositori HAProxy ke sistem Anda melalui paket PPA. Setelah PPA menarik repositori, perbarui repo sistem Anda.

sudo add-apt-repository ppa:vbernat/haproxy-1.7
sudo apt update

Terakhir, Silakan jalankan perintah berikut di sistem Ubuntu/Debian Linux Anda untuk mendapatkan HAProxy di sistem. Setelah menginstal HAProxy, harap periksa versi HAProxy untuk memastikan bahwa versi tersebut telah diinstal dengan benar di mesin Anda.

sudo apt install -y haproxy
haproxy -v

Setelah instalasi HAProxy selesai di mesin Linux Anda, sekarang kami akan mengedit skrip konfigurasi untuk menyiapkan HAProxy dengan server kami. Di sini, kami akan mengedit beberapa skrip konfigurasi HAProxy, dan harap berhati-hati saat Anda mengedit skrip tersebut dan membuat cadangan file tersebut untuk memulihkan pengaturan default jika terjadi kesalahan.

Pertama, jalankan perintah berikut pada shell terminal Anda dengan akses root untuk mengedit skrip konfigurasi HAProxy. Di sini, saya menggunakan alat editor skrip Nano, dan Anda dapat menggunakan alat favorit Anda.

sudo nano /etc/haproxy/haproxy.cfg

Sekarang, salin dan tempel baris skrip berikut di dalam file, lalu simpan dan tutup file. Baris skrip berikut mendefinisikan frontend dan status backend dengan HAProxy. Harap masukkan detail server Anda di nama server, IP, dan bidang kredensial lainnya.

frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back

backend http_back
balance roundrobin
server :80 check
server :80 check

Sekarang, jalankan perintah berikut pada shell terminal untuk mengedit dan mengkonfigurasi skrip HAproxy.

sudo nano /etc/haproxy/haproxy.cfg

Silakan gunakan skrip konfigurasi berikut untuk mengatur pengaturan HAproxy.

frontend http_front
bind *:80
stats uri /haproxy?stats
acl url_blog path_beg /blog
use_backend blog_back if url_blog
default_backend http_back

backend http_back
balance roundrobin
server :80 check
server :80 check

backend blog_back
server :80 check

Setelah konfigurasi selesai, Anda sekarang dapat memulai ulang alat HAProxy di mesin Linux Anda dengan menjalankan perintah kontrol sistem berikut dengan akses root.

sudo systemctl status haproxy
sudo systemctl restart haproxy

Anda sekarang dapat menjalankan perintah yang disebutkan di bawah dengan alamat server Anda untuk memeriksa status server.

http:///haproxy?stats

2. Instal dan Konfigurasi HAproxy di Fedora

Menginstal alat penyeimbang beban HAProxy di Fedora Linux hampir sama dengan menginstalnya di sistem Debian/Ubuntu. Pertama, perbarui repositori sistem, lalu jalankan perintah DNF untuk menginstal alat HAProxy di mesin Linux Anda.

yum -y update
yum -y install haproxy

Setelah penginstalan selesai, jalankan perintah berikut untuk membuat cadangan skrip konfigurasi sebelum membuat perubahan apa pun.

cd /etc/haproxy/
mv haproxy.cfg haproxy.cfg_bac

Anda sekarang dapat membuat skrip konfigurasi HAProxy baru dengan menjalankan perintah sentuh berikut yang diberikan di bawah ini. Kemudian edit skrip dengan perintah Nano berikut.

touch haproxy.cfg
nano haproxy.cfg

Anda dapat menyalin dan menempelkan skrip konfigurasi berikut, lalu simpan dan keluar dari file.

global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
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

#frontend
#---------------------------------
frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back

#round robin balancing backend http
#-----------------------------------
backend http_back
balance roundrobin
#balance leastconn
mode http
server webserver1 10.13.211.169:80 check # ip_address_of_1st_centos_webserver
server webserver2 10.13.211.158:80 check # ip_address_of_2nd_centos_webserver

Setelah menambahkan skrip ke dalam file konfigurasi, sekarang kita akan mengaktifkan, memulai, dan memeriksa status alat HAProxy di Fedora Linux.

systemctl enable haproxy
systemctl start haproxy
systemctl status haproxy

Anda juga dapat memeriksa apakah HAProxy bekerja dengan baik di sistem Anda atau tidak dengan menarik status HAProxy melalui browser web Anda.

http://10.13.211.194/haproxy?stats

Perintah cURL berikut juga akan mengembalikan status server mendalam bersama dengan status HAProxy.

curl 10.13.211.194
curl 10.13.211.194

Langkah 3:Instal Keepalive di Linux

Karena kita sudah membahas Keepalive, maka disini kita akan langsung melalui proses instalasi Keepalive di sistem Linux. Di sini kita akan melihat metode menginstal dan mengkonfigurasi alat Keepalive di Fedora dan Debian Linux.

1. Instal dan konfigurasi Keepalive di Ubuntu/Debian

Untuk menginstal alat penyeimbang beban Keepalive di Ubuntu dan sistem Linux Debian lainnya, silakan jalankan perintah berikut untuk mendapatkan alat penting yang dibangun di sistem Anda. Kemudian telusuri direktori home dan jalankan perintah wget yang disediakan di bawah ini untuk mengunduh file Keepalive yang dikompresi pada sistem file.

sudo apt-get install build-essential libssl-dev
cd ~
wget http://www.keepalived.org/software/keepalived-1.2.19.tar.gz

Setelah download selesai, silakan gunakan perintah tar berikut untuk mengekstrak file, lalu telusuri direktori yang diekstrak melalui perintah CD.

tar xzvf keepalived*
cd keepalived*

Sekarang Anda dapat menjalankan perintah berikut untuk menginstal alat Keepalive di sistem Ubuntu Anda.

./configure
make
sudo make install

Ketika instalasi berakhir, saatnya untuk mengedit konfigurasi untuk menyiapkan Keepalive dengan server kami. Silakan jalankan perintah berikut yang diberikan di bawah ini untuk mengedit skrip konfigurasi.

sudo nano /etc/init/keepalived.conf

Saat skrip terbuka, salin dan tempel skrip berikut yang disediakan di bawah ini.

description "load-balancing and high-availability service"

start on runlevel [2345]
stop on runlevel [!2345]

Sekarang, jalankan mkdir perintah untuk membuat skrip konfigurasi baru untuk alat Keepalive, lalu mengisinya dengan skrip konfigurasi.

sudo mkdir -p /etc/keepalived
sudo nano /etc/keepalived/keepalived.conf

Gunakan baris skrip berikut untuk mengisi file konfigurasi Keepalive.

vrrp_script chk_haproxy {
script "pidof haproxy"
interval 2
}

vrrp_instance VI_1 {
interface eth1
state MASTER
priority 200

virtual_router_id 33
unicast_src_ip primary_private_IP
unicast_peer {
secondary_private_IP
}


}

Sekarang, edit skrip konfigurasi Keepalive dari etc direktori dan tambahkan baris berikut ke dalam skrip Anda.

sudo nano /etc/keepalived/keepalived.conf

Baris skrip yang perlu kita masukkan ke dalam file konfigurasi.

vrrp_script chk_haproxy {
script "pidof haproxy"
interval 2
}

vrrp_instance VI_1 {
interface eth1
state BACKUP
priority 100

virtual_router_id 33
unicast_src_ip secondary_private_IP
unicast_peer {
primary_private_IP
}

authentication {
auth_type PASS
auth_pass password
}

track_script {
chk_haproxy
}

notify_master /etc/keepalived/master.sh
}

Setelah mengonfigurasi skrip untuk Keepalive, sekarang kita akan membuat skrip konfigurasi penyeimbang beban sekunder dan mengisi skrip dengan baris skrip yang diperlukan.

sudo nano /etc/keepalived/keepalived.conf

Jalankan perintah nano untuk mengedit skrip, dan isi skrip dengan baris yang diberikan di bawah ini. Setelah file diperbarui, simpan dan tutup skrip.

vrrp_script chk_haproxy {
script "pidof haproxy"
interval 2
}

vrrp_instance VI_1 {
interface eth1
state BACKUP
priority 100

virtual_router_id 33
unicast_src_ip secondary_private_IP
unicast_peer {
primary_private_IP
}

authentication {
auth_type PASS
auth_pass password
}

track_script {
chk_haproxy
}

notify_master /etc/keepalived/master.sh
}

2. Instal dan Konfigurasi Keepalive di Fedora

Menginstal alat Keepalive pada sistem Fedora dan Red Hat Linux sangat mirip dengan menginstalnya ke distribusi Debian. Pertama, Anda perlu memperbarui repositori sistem Anda, lalu jalankan perintah yum berikut untuk menginstal alat Keepalive.

yum update
yum install -y keepalived

Ketika instalasi selesai, kita sekarang akan mengedit skrip konfigurasi Keepalive untuk menyesuaikan pengaturan server dengan Keepalive. Sebelum melakukan perubahan apa pun, kami akan membuat cadangan untuk skrip konfigurasi Keepalive.

Jalankan perintah berikut di shell Anda satu per satu untuk membuat file cadangan, membuat file konfigurasi, dan mengedit skrip konfigurasi. Setelah mengonfigurasi alat, kami akan menggunakannya untuk mengatur server penyeimbang beban kami di Linux.

mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bac
touch /etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf

Ketika skrip konfigurasi terbuka, harap isi file dengan baris skrip yang disediakan di bawah ini. Anda mungkin perlu membuat perubahan pada file skrip sesuai dengan IP server, port, nama, dan detail lainnya.

global_defs {
notification_email {
www.ubuntupit.com
[email protected]
}
notification_email_from [email protected]
smtp_server 10.13.211.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_instance VI_1 {
state MASTER
interface eth0 #put your interface name here. [to see interface name: $ ip a ]
virtual_router_id 51
priority 101 # 101 for master. 100 for backup. [priority of master> priority of backup]
advert_int 1
authentication {
auth_type PASS
auth_pass 1111 #password
}
virtual_ipaddress {
10.13.211.10 # use the virtual ip address.
}
}

Setelah mengonfigurasi skrip Keepalive, jalankan perintah kontrol sistem berikut dengan akses root pada shell terminal Anda untuk memulai, mengaktifkan, dan memeriksa status Keepalive di mesin Linux Anda.

systemctl start keepalived
systemctl enable keepalived
systemctl status keepalived

Jika semuanya berjalan dengan baik, perintah berikut akan mengembalikan status server untuk semua lokasi IP Anda yang akan memastikan bahwa server Linux Anda memiliki pengaturan lengkap untuk penyeimbangan beban dengan ketersediaan tinggi.

$ while true; do ; curl 10.13.211.10 ; sleep 1; done;

Kata-Kata Terakhir

Jika Anda seorang admin sistem, Anda tahu betapa pentingnya membuat server Anda selalu aktif dan dapat diakses dari klien di seluruh dunia. Biasanya, jika server Anda sibuk, disarankan untuk mengaktifkan mekanisme penyeimbangan beban.

Itu dapat membuat server cepat dan dapat diakses dengan banyak hit sekaligus. Di seluruh posting, saya telah membahas dasar-dasar HAProxy, Keepalive, dan Nginx. Saya telah mengilustrasikan konsep dan metode tentang cara menyiapkan HAProxy, Nginx, dan Keepalive untuk load balancing di Linux.

Silakan bagikan dengan teman-teman Anda dan komunitas Linux jika menurut Anda postingan ini bermanfaat dan informatif. Kamu juga bisa menuliskan pendapatmu tentang postingan ini di kolom komentar.


Linux
  1. Cara Install dan Setup Nginx, WordPress dan Mysql 8 di Rocky Linux/Centos 8

  2. Cara mengatur aplikasi nodejs sederhana dengan nginx dan pm2 di server ubuntu

  3. Penyeimbangan beban Nginx

  1. Pengaturan server kali http

  2. Pantau Server Linux Dengan Prometheus dan Grafana

  3. Cara Menginstal Dan Mengatur cPanel Di Server Linux

  1. Cara Memperkuat dan Mengamankan Server Web NGINX di Linux

  2. Cara Mengatur NGINX yang Sangat Tersedia dengan KeepAlived di Linux

  3. Cara mengatur Raspberry Pi sebagai Server Cadangan untuk Desktop Linux dan Windows