HAProxy thường được nhắc đến như là một công cụ cân bằng tải với công dụng giúp các Webmaster phân giải proxy được sử dụng phổ biến trên thế giới. Với khả năng xử lý nhiều loại lưu lượng như TCP, UDP, FTP, RDP, WebSockets, database connections, HAProxy được rất nhiều quản trị viên Website sử dụng.
Vậy nên, trong bài viết hôm nay, Gdata sẽ hướng dẫn bạn đọc cách cài đặt và cấu hình cân bằng tải theo 4 bước cơ bản cho Web Server bên trong.
![Gdata - [Hướng dẫn] Cài đặt và cấu hình cân bằng tải với HAProxy](https://gdata.com.vn/wp-content/uploads/2023/06/Gdata-huong-dan-cai-dat-va-cau-hinh-can-bang-tai-voi-HAProxy-1.jpg)
1. Cách cài đặt HAProxy
Trong bài viết này, Gdata sẽ sử dụng Centos 8 làm ví dụ, các câu lệnh để cài đặt cân bằng tải HAProxy như sau:
# sudo yum update -y
# sudo yum install -y haproxy
– Sau khi cài đặt xong, bạn đọc thực hiện việc bật dịch vụ cân bằng tải tự động với câu lệnh sau:
# sudo systemctl enable haproxy
👉 Nhờ câu lệnh này, mỗi khi hệ thống khởi động, HAProxy sẽ được tự động khởi chạy cùng với hệ thống máy chủ.
– Sau khi đã cài đặt và bật dịch vụ, bạn có thể kiểm tra thử phiên bản xem dịch vụ đã được bật hay chưa với câu lệnh sau:
# haproxy -v
– Nếu dịch vụ đã bật, bạn sẽ nhận được thông báo như bên dưới:
HA-Proxy version 2.2.4-b16390-23 2020/10/09 – https://haproxy.org/
2. Tạo backend server
– Để thử nghiệm cân bằng tải, Gdata sử dụng Ncat để tạo các Web Server đơn giản với câu lệnh sau:
# sudo yum install nc -y
– Do mặc định SELinux được bật, cho nên bạn cần phải mở port 8404 để truy cập được website thống kê lưu lượng:
# sudo dnf install policycoreutils-python-utils
# sudo semanage port -a -t http_port_t -p tcp 8404
# sudo semanage port -a -t http_port_t -p tcp 10080;
# sudo semanage port -a -t http_port_t -p tcp 10081;
# sudo semanage port -a -t http_port_t -p tcp 10082;
– Tiếp theo, bạn đọc cần phải tạo 2 Web Servers và một API server:
while true ;
do
nc -l -p 10080 -c ‘echo -e “HTTP/1.1 200 OK\n\n This is Gdata Server ONE”‘ ;
done &
while true ;
do
nc -l -p 10081 -c ‘echo -e “HTTP/1.1 200 OK\n\n This is Gdata Server TWO”‘ ;
done &
while true ;
do
nc -l -p 10082 -c ‘echo -e “HTTP/1.1 200 OK\nContent-Type: application/json\n\n { \”Message\” :\”Hello, Gdata!\” }”‘ ;
done &
3. Cấu hình HAProxy
– File cấu hình của công cụ cân bằng tải là /etc/haproxy/haproxy.cfg, bạn hãy mở file đó và thực hiện chỉnh sửa như bên dưới:
global
log 127.0.0.1 local2
user haproxy
group haproxy
defaults
mode http
log global
option httplog
frontend main
bind *:80
default_backend web
use_backend api if { path_beg -i /api/ }
#————————-
# SSL termination – HAProxy handles the encryption.
# To use it, put your PEM file in /etc/haproxy/certs
# then edit and uncomment the bind line (75)
#————————-
# bind *:443 ssl crt /etc/haproxy/certs/haproxy.pem ssl-min-ver TLSv1.2
# redirect scheme https if !{ ssl_fc }
#—————————–
# Enable stats at http://test.local:8404/stats
#—————————–
frontend stats
bind *:8404
stats enable
stats uri /stats
#—————————–
# round robin balancing between the various backends
#—————————–
backend web
server web1 127.0.0.1:10080 check
server web2 127.0.0.1:10081 check
#—————————–
# API backend for serving up API content
#—————————–
backend api
server api1 127.0.0.1:10082 check
– Như trong đoạn cấu hình trên, Gdata đã tạo một frontend trên port 80 của Server và Backend Web gồm 2 Web Server lắng nghe trên port 10080 và 10081:
frontend main
bind *:80
default_backend web
backend web
server web1 127.0.0.1:10080 check
server web2 127.0.0.1:10081 check
– Với backend này, lưu lượng đi vào từ ngoài mạng thông qua cân bằng tải sẽ được phân phối đều giữa 2 Web Server. Việc này sẽ đảm bảo chắc chắn không xảy ra trường hợp phải xử lý quá tải lưu lượng trên một Web Server.
– Ngoài ra, trên frontend có một cấu hình điều hướng lưu lượng tới backend api:
# use_backend api if { path_beg -i /api/ }
👉 Với cấu hình này, khi người dùng nhập URL trên trình duyệt vào /api/ thì lưu lượng sẽ được điều hướng tới backend api.
4. Thống kê lưu lượng
– Trong đoạn cấu hình bên trên, Gdata đã có đoạn hướng dẫn chỉ định cách kích hoạt web thống kê lưu lượng:
frontend stats
bind *:8404
stats uri /stats
stats enable
Như vậy, bạn đọc có thể truy cập vào đường dẫn http://YOUR-IP-ADDRESS:8404/stats để xem thống kê lưu lượng của cân bằng tải.
Thông tin liên hệ
Trên đây là hướng dẫn cách cài đặt và cấu hình cân bằng tải theo 4 bước cơ bản nhất. Nếu bạn đọc có bất kỳ câu hỏi nào với Gdata, vui lòng liên hệ với chúng tôi qua thông tin dưới đây:
– Hotline: 0904 299 668
– Tổng đài: 1800 4814 – Phím 2
– Email: lienhe@gdata.com.vn
– Website: www.gdata.com.vn
– LinkedIn: https://www.linkedin.com/company/gdata-system-solution
– Facebook: https://www.facebook.com/gdata.com.vn
CÔNG TY CP DỮ LIỆU TOÀN CẦU
Địa chỉ: Tầng 03 Tòa Lạc Hồng/ 27 Lê Văn Lương, Thanh Xuân, Hà Nội
Chương trình ưu đãi mới nhất tại GDATA – Cloud Server giá rẻ!

