HAProxy là giải pháp miễn phí, mã nguồn mở và đáng tin cậy cho tính khả dụng cao và cân bằng tải. Giải pháp này phân phối tải trên nhiều máy chủ ứng dụng và đơn giản hóa các tác vụ xử lý yêu cầu. Giải pháp này có thể được cài đặt trên tất cả các hệ điều hành Linux chính. Nó phổ biến vì hiệu quả, độ tin cậy và chiếm ít bộ nhớ và CPU.
Trong bài đăng này, chúng tôi sẽ giải thích cách cài đặt HAProxy trên hệ thống Debian 11.
Trên máy chủ phụ trợ đầu tiên, cài đặt gói Apache bằng lệnh sau:
Sau khi Apache được cài đặt, hãy tạo một trang chỉ mục Apache mẫu bằng lệnh sau:
Trên máy chủ phụ trợ thứ hai, hãy cài đặt gói Apache bằng lệnh sau:
Tiếp theo, tạo một trang chỉ mục Apache mẫu bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi HAProxy được cài đặt, hãy khởi động dịch vụ HAProxy và cho phép dịch vụ này khởi động khi khởi động lại hệ thống:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Trong đó: 192.168.1.10 là địa chỉ IP của máy chủ backend Apache đầu tiên và 192.168.1.11 là địa chỉ IP của máy chủ backend Apache thứ hai.
Tiếp theo, khởi động lại dịch vụ HAProxy để áp dụng các thay đổi:
Bây giờ bạn có thể kiểm tra trạng thái của HAProxy bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Mở trình duyệt web của bạn và nhập URL . Bạn sẽ thấy HAProxy đang gửi các yêu cầu đến máy chủ phụ trợ từng cái một sau mỗi lần làm mới.
Trong bài đăng này, chúng tôi sẽ giải thích cách cài đặt HAProxy trên hệ thống Debian 11.
Điều kiện tiên quyết
- Một máy chủ chạy Debian 11 cho HAProxy.
- Hai máy chủ chạy Debian 11 cho máy chủ Apache Backend.
- Một mật khẩu gốc được cấu hình trên tất cả các máy chủ.
Thiết lập máy chủ web Backend
Với mục đích của hướng dẫn này, bạn sẽ cần thiết lập lên hai máy chủ Apache phụ trợ.Trên máy chủ phụ trợ đầu tiên, cài đặt gói Apache bằng lệnh sau:
Mã:
apt-get install apache2 -y
Mã:
echo "[HEADING=1]Welcome to the first Apache Server[/HEADING]" | tee /var/www/html/index.html
Mã:
apt-get install apache2 -y
Mã:
echo "[HEADING=1]Welcome to the second Apache Server[/HEADING]" | tee /var/www/html/index.html
Cài đặt HAProxy
Theo mặc định, HAProxy được bao gồm trong kho lưu trữ mặc định của Debian 11. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install haproxy -y
Mã:
systemctl start haproxy
systemctl enable haproxy
Cấu hình HAProxy
Tiếp theo, bạn sẽ cần chỉnh sửa tệp cấu hình mặc định của HAProxy và xác định các máy chủ web phụ trợ.
Mã:
nano /etc/haproxy/haproxy.cfg
Mã:
frontend apache_front # Cổng lắng nghe phía trước - 80 bind *:80 # Đặt phần phụ trợ mặc định default_backend apache_backend_servers # Bật tùy chọn tiêu đề send X-Forwarded-For forwardfor# Định nghĩa backendbackend apache_backend_servers # Sử dụng roundrobin để cân bằng lưu lượng balance roundrobin # Định nghĩa backend servers server backend01 192.168.1.10:80 check server backend02 192.168.1.11:80 check
Trong đó: 192.168.1.10 là địa chỉ IP của máy chủ backend Apache đầu tiên và 192.168.1.11 là địa chỉ IP của máy chủ backend Apache thứ hai.
Tiếp theo, khởi động lại dịch vụ HAProxy để áp dụng các thay đổi:
Mã:
systemctl restart haproxy
Mã:
systemctl status haproxy
Mã:
? haproxy.service - HAProxy Load Balancer Đã tải: đã tải (/lib/systemd/system/haproxy.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2021-11-07 03:47:14 UTC; 9 giây trước Tài liệu: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Tiến trình: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (mã=thoát, trạng thái=0/THÀNH CÔNG) PID chính: 86680 (haproxy) Nhiệm vụ: 3 (giới hạn: 4679) Bộ nhớ: 34,2M CPU: 61ms CGroup: /system.slice/haproxy.service ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock07/11 03:47:14 debian11 systemd[1]: Đang khởi động HAProxy Load Balancer...07/11 03:47:14 debian11 haproxy[86680]: Proxy apache_front đã khởi động.07/11 03:47:14 debian11 haproxy[86680]: Proxy apache_front đã khởi động.07/11 03:47:14 debian11 systemd[1]: Đã khởi động HAProxy Load Balancer.07/11 03:47:14 debian11 haproxy[86680]: [THÔNG BÁO] 310/034714 (86680) : Công nhân mới #1 (86682) đã phân nhánh07/11 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers đã bắt đầu.07/11 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers đã bắt đầu.
Xác minh HAProxy
Lúc này, HAProxy đã được định cấu hình và đang chạy. Bây giờ, đã đến lúc kiểm tra HAProxy.Mở trình duyệt web của bạn và nhập URL . Bạn sẽ thấy HAProxy đang gửi các yêu cầu đến máy chủ phụ trợ từng cái một sau mỗi lần làm mới.