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 user
atau 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.