Menjaga Stabilitas Server dengan Load Balancing HAProxy Nginx di CentOS 7

menjaga stabilitas server load balancer server 1

Memiliki banyak pengunjung hingga meningkat lalu lintas adalah apa yang diharapkan pemiliknya situs web. Namun jumlah pengunjung berbanding lurus dengan permintaan atau permintaan di lebih banyak server. Oleh karena itu, stabilitas server diperlukan agar dapat memenuhi permintaan pengunjung. Pada artikel ini, Anda akan mengetahui cara menjaga stabilitas server menggunakan penyeimbang beban HAProxy Nginx di CentOS 7.

Penyeimbang beban

Penyeimbang beban adalah salah satu metode pendistribusian lalu lintas ke beberapa server agar tidak membebani satu server sehingga kinerja server seimbang dan menghindari hal ini kelebihan beban.

HAProxy

HAProxy atau High Availability Proxy adalah open source TCP dan HTTP penyeimbang beban dan perangkat lunak server proxy. HAProxy ditulis dalam C oleh Willy Tarreau yang didukung oleh SSL, format log kustom tetap hidup, dan menulis header.

Perangkat lunak Ini termasuk cepat dan telah digunakan oleh situs web terkenal, seperti Github, StackOverflow, Reddit, Tumblr, dan Twitter. HAProxy sekarang termasuk dalam satu penyeimbang beban populer hari ini.

Konsep HAProxy

HAProxy dapat berjalan dalam 2 mode; TCP layer 4 dan HTTP layer 7. Pada lapisan TCP 4, HAProxy melakukannya meneruskan MENTAH paket TCP dari klien untuk server aplikasi. Pada lapisan HTTP 7, HAProxy melakukannya parsing Header HTTP sebelum melakukan penerusan untuk server aplikasi.

Algoritma

Ada beberapa algoritma yang digunakan oleh HAProxy dalam menerima permintaan pengunjung:

  • Roundrobin
    Algoritme paling sederhana, HAProxy akan mengambil dan menyeimbangkan sumber setara di server yang tersedia.
  • Lastconn
    Jika ada koneksi maka akan ditangani oleh server backend dengan jumlah koneksi paling sedikit, atau HAProxy akan mengambil paling sedikit koneksi.
  • Sumber
    AKU P klien akan-hash untuk menentukan server backend yang menerima permintaan terakhir dari IP pengunjung. Jadi, jika ada pengunjung yang melakukannya permintaan nanti itu akan diterima oleh salah satu server secara bertahap, tidak berpindah-pindah sesi sampai sesi berakhir.

Dalam tutorial ini kita akan menggunakan algoritma Usul.

Menjaga Stabilitas Server dengan Load Balancing HAProxy Nginx

Persiapan

Sebelum memulai penginstalan, pastikan Anda memenuhi persyaratan berikut.

  • Memiliki 3 VPS dan Domain yang aktif.
  • Memiliki akses akar ke VPS.

Persyaratan

Catatan: Kami menyamarkan alamat IP menjadi "xxx", nanti Anda harus mengubah semua pengaturan IP dengan alamat IP Anda.

  • VPS 1 sebagai Load Balancer
    103.xxx.xxx. 188
  • VPS 2 sebagai Web Server 1 (srv1)
    103.xxx.xxx. 39
  • VPS 3 sebagai Web Server 2 (srv2)
    103.xxx.xxx.45

Konfigurasikan Penyeimbang Beban HAProxy

Pembaruan Server

Memperbarui server dan reboot yang seperti itu paket Tersedia di repositori sudah up-to-date.

$ yum pembaruan -y

$ reboot

Konfigurasi etc / hosts

Masuk sebagai root ke Load Balancer.

Edit etc / hosts untuk ditambahkan nama host dari srv1 dan srv2 untuk dikenali oleh Load Balancer.

$ nano / etc / hosts

Tambahkan itu nama host srv1 dan srv2:

103.xxx.xxx.39 srv1.loadbalancer srv1

103.xxx.xxx.45 srv2.loadbalancer srv2

Simpan dan keluar.

Login sebagai root ke srv1 dan srv2

$ nano / etc / hosts

103.xxx.xxx.188 loadbalancer

Lakukan pengaturan di atas pada kedua server web (srv1 dan srv2).

Instal & Konfigurasi HAProxy

Masuk sebagai root ke Load Balancer

HAProxy tersedia di repositori CentOS 7, lalu buka direktori HAProxy dan file cadangan konfigurasi HAProxy asli.

$ yum instal haproxy -y

$ cd / etc / haproxy /

$ mv haproxy.cfg haproxy.cfg.original

Buat file konfigurasi haproxy baru.

$ nano haproxy.cfg

Gunakan konfigurasi di bawah ini.

# ———————————————————————

# Pengaturan global

# ———————————————————————

global

log 127.0.0.1 local2 #Log konfigurasi

chroot / var / lib / haproxy

pidfile /var/run/haproxy.pid

maxconn 4000

pengguna haproxy #Haproxy berjalan di bawah pengguna dan grup "haproxy"

grup haproxy

daemon

# aktifkan statistik soket unix

statistik soket / var / lib / haproxy / statistik

# ———————————————————————

# default umum yang akan dilakukan oleh semua bagian "mendengarkan" dan "backend"

# gunakan jika tidak ditentukan di blok mereka

# ———————————————————————

default

mode http

log global

opsi http

opsi dontlognull

http-server-tutup

opsi maju kecuali 127.0.0.0/8

opsi pengiriman ulang

coba lagi 3

batas waktu http-request 10s

batas waktu antrian 1m

batas waktu menghubungkan 10s

Batas waktu klien 1m

waktu tunggu server 1m

batas waktu http-tetap hidup 10s

batas waktu, periksa 10 detik

maxconn 3000

Baca:  Mengatasi Error Tidak Bisa Login Sparkweb Di Ubuntu Server 16.04 LTS

# ———————————————————————

#HAProxy Monitoring Config

# ———————————————————————

#listen haproxy3-monitoring *: 8080 #Haproxy Monitoring dijalankan pada port 8080

#bind haproxy3-monitoring *: 8080

dengarkan statistik

mengikat *: 8080

mode http

meneruskan untuk opsi

httpclose

statistik diaktifkan

statistik pertunjukan-legenda

segarkan statistik 5s

statistik / statistik uri #URL untuk pemantauan HAProxy

statistik bidang Haproxy Statistics

statistik admin auth: p4ssadmin #User dan Kata sandi untuk login ke dasbor pemantauan

statistik admin jika BENAR

default_backend app-main # Ini opsional untuk pemantauan backend

# ———————————————————————

# Konfigurasi FrontEnd

# ———————————————————————

frontend main

mengikat *: 80

http-server-tutup

meneruskan untuk opsi

default_backend app-main

# ———————————————————————

# BackEnd roundrobin sebagai algoritma keseimbangan

# ———————————————————————

backend utama aplikasi

keseimbangan roundrobin #Algoritma keseimbangan

opsi httpchk HEAD / HTTP / 1.1 r nHost: localhost #Periksa aplikasi server dan sehat – 200 kode status

server srv1 103.xxx.xxx.39: 80 periksa # srv1

server srv2 103.xxx.xxx.45: 80 periksa # srv2

Simpan hasil konfigurasi dan Keluar.

Konfigurasi Rsyslog

Di sini kita akan mengkonfigurasi daemon rsyslog untuk penebangan Dalam statistik HAProxy, edit rsyslog.conf dan aktifkan UDP port 514 untuk digunakan oleh rsyslog.

$ nano /etc/rsyslog.conf

Hapus tanda "#" pada perintah di bawah ini:

#module (load = "imudp") # perlu dilakukan sekali saja

#input (type = "imudp" port = "514 ″)

Simpan lalu Keluar.

Setelah itu buat konfigurasi haproxy untuk rsyslog.

$ cd /etc/rsyslog.d/

$ nano haproxy.conf

Tempel (tempel) konfigurasi di bawah ini menjadi file haproxy.conf.

lokal2. = info /var/log/haproxy-access.log #Untuk Access Log

local2.notice /var/log/haproxy-info.log #Untuk Info Layanan – Backend, loadbalancer

Simpan dan keluar.

Mengulang kembali rsyslog dan Mulailah haproxy.dll

$ systemctl restart rsyslog

$ systemctl mulai haproxy

Tambahkan haproxy untuk mulai saat boot.

$ systemctl mengaktifkan haproxy

Instal dan Konfigurasi Nginx

Login sebagai root ke srv1 dan srv2

$ yum install epel-release -y

$ yum instal nginx -y

Setelah Nginx diinstal pada srv1 dan srv2, kunjungi direktori web dan buat perubahan file indeks untuk melihat hasilnya penyeimbang beban di kedua server.

$ cd / usr / bagikan / nginx / html /

$ echo "

srv1.loadbalancer

"> Index.html # untuk srv1

$ echo "

srv2.loadbalancer

"> Index.html # untuk srv2

Kemudian, tambahkan Nginx untuk mulai saat boot kemudian Mulailah Nginx.

$ systemctl aktifkan nginx

$ systemctl mulai nginx

Lakukan langkah-langkah "Konfigurasi Nginx" ini di kedua server.


Menguji

Akses LoadBalancer dengan IP: 103.xxx.xxx.188, akan seperti di bawah ini dengan algoritma Round Robin:

menjaga stabilitas server load balancer server 1
menjaga stabilitas server load balancer server 2

Jika pengecekan menggunakan c:

[root@server-dewiweb ~]# curl 103.xxx.xxx.188

srv2.loadbalancer

[root@server-dewiweb ~]# curl 103.xxx.xxx.188

srv1.loadbalancer

Anda juga dapat melihat statistik pada Pemantauan Web HAProxy dengan URL: http: //103.xxx.xxx.188: 8080 / stats

menjaga statistik web haproxy server tetap stabil

Jika tampilannya seperti gambar diatas, berarti proses menjaga stabilitas server sedang menggunakan penyeimbang beban dengan HAProxy, ini berhasil.

Kesimpulan

Pertahankan stabilitas server dengan penyeimbang beban HAProxy Nginx di CentOS 7 memang menjadi pilihan yang tepat saat Anda mulai mengkhawatirkan lalu lintas di situs web menyebabkan sumber di server Anda hampir melewati batas. Pemilihan algoritma dalam konfigurasi HAProxy untuk menjaga stabilitas server dapat disesuaikan dengan kebutuhan Anda.

Namun, jika Anda berniat untuk berpindah server, mungkin Anda dapat mempertimbangkan Dewaweb jika Anda membutuhkan server yang cepat, aman, dan selalu dapat diandalkan. Selain itu, saat mengalami kendala, kamu selalu bisa bertanya kepada Ninja Support Dewaweb yang selalu siap membantu kapanpun dan dimanapun selama 24 jam. non stop! Kunjungi halaman VPS Dewaweb untuk informasi lebih lanjut.

Demikian artikel tentang cara menjaga kestabilan server dengan penyeimbang beban HAProxy, silahkan tinggalkan ide topik yang ingin anda baca di blog Dewaweb. Semoga artikel ini membantu!

Daftar dan tonton webinar Dewatalks

Postingan Menjaga Stabilitas Server dengan HAProxy Nginx Load Balancing di CentOS 7 muncul pertama kali di Blog Dewaweb.