
Dalam tutorial ini, kami akan menunjukkan cara menginstal HAProxy di CentOS 8. Bagi Anda yang belum tahu, HAProxy adalah penyeimbang beban dan proxy ketersediaan tinggi HTTP/TCP gratis server. Ini menyebarkan permintaan di antara beberapa server untuk mengurangi masalah akibat kegagalan server tunggal. HA Proxy digunakan oleh sejumlah situs web profil tinggi termasuk GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter, dan Tuenti, dan digunakan dalam produk OpsWorks dari Amazon Web Services.
Artikel ini mengasumsikan Anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda meng-host situs Anda di VPS Anda sendiri. Instalasi cukup sederhana dan mengasumsikan Anda sedang berjalan di akun root, jika tidak, Anda mungkin perlu menambahkan 'sudo ' ke perintah untuk mendapatkan hak akses root. Saya akan menunjukkan langkah-demi-langkah instalasi HAProxy di CentOS 8.
Prasyarat
- Server yang menjalankan salah satu sistem operasi berikut:CentOS 8.
- Sebaiknya Anda menggunakan penginstalan OS baru untuk mencegah potensi masalah.
- Akses SSH ke server (atau cukup buka Terminal jika Anda menggunakan desktop).
- Seorang
non-root sudo useratau akses keroot user. Kami merekomendasikan untuk bertindak sebagainon-root sudo user, namun, karena Anda dapat membahayakan sistem jika tidak berhati-hati saat bertindak sebagai root.
Instal HAProxy di CentOS 8
Langkah 1. Pertama, mari kita mulai dengan memastikan sistem Anda mutakhir.
sudo clean all sudo dnf update
Langkah 2. Menginstal HAProxy di CentOS 8.
HAProxy tersedia di CentOS 8 default, Sekarang gunakan dnf berikut perintah untuk menginstal HAProxy:
sudo dnf install haproxy
Langkah 3. Konfigurasi HAProxy.
Kita akan membuat file konfigurasi /etc/haproxy/haproxy.cfg berisi pengaturan dan konfigurasi yang diperlukan:
sudo nano /etc/haproxy/haproxy.cfg
Masukkan yang berikut ke dalam file:
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
ssl-default-bind-ciphers PROFILE=SYSTEM
ssl-default-server-ciphers PROFILE=SYSTEM
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend main
bind *:5000
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js
use_backend static if url_static
default_backend app
backend static
balance roundrobin
server static 127.0.0.1:4331 check
backend app
balance roundrobin
server app1 127.0.0.1:5001 check
server app2 127.0.0.1:5002 check
server app3 127.0.0.1:5003 check
server app4 127.0.0.1:5004 check Anda dapat melihat detail konfigurasi dan informasi lebih lanjut, periksa URL ini. Setelah Anda mengonfigurasi HAProxy, saatnya untuk memulai layanan:
sudo systemctl start haproxy sudo systemctl enable haproxy
Langkah 4. Konfigurasi Firewall.
Kami akan menambahkan HAProxy ke firewall CentOS 8 dan memperbarui aturan dengan perintah berikut:
sudo firewall-cmd --add-port=8088/tcp --permanent sudo firewall-cmd --reload
Langkah 5. Konfigurasikan HAProxy Logging.
Untuk mengonfigurasi logging standar HAProxy, edit /etc/rsyslog.conf dan aktifkan penerimaan UDP Syslog pada port 514:
sudo nano /etc/rsyslog.conf
... # Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html module(load="imudp") # needs to be done just once input(type="imudp" port="514") ... *.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages local2.* /var/log/haproxy.log ...
Kemudian, simpan file konfigurasi dan jalankan perintah di bawah ini untuk memeriksa kesalahan:
rsyslogd -N1 sudo systemctl restart rsyslog haproxy
Langkah 6. Konfigurasi Apache X-Forwarded-For Logging di Server Backend.
Sekarang kita login ke server backend dan mengkonfigurasi Apache untuk mencatat header X-Forwarded-For. Baris default yang kita ubah adalah:
...
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
... Edit baris ini sehingga terlihat seperti:
...
LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
... Simpan file dan mulai ulang Apache:
apachectl configtest sudo systemctl restart httpd
Langkah 7. Menguji HAProxy Load Balancer.
Untuk memverifikasi bahwa HAProxy dapat memuat keseimbangan permintaan HTTP, navigasikan ke browser, dan akses HAProxy menggunakan nama host atau alamat IP.
Selamat! Anda telah berhasil menginstal HAProxy. Terima kasih telah menggunakan tutorial ini untuk menginstal HAProxy pada sistem CentOS 8 Anda. Untuk bantuan tambahan atau informasi berguna, kami sarankan Anda memeriksa situs web resmi HAProxy.