HaProxy được sử dụng bởi các trang phổ biến như Tumblr, GitHub và StackOverflow. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cài đặt HAProxy trong thiết lập máy chủ web được cung cấp bằng Nginx.
Thiết lập phòng thí nghiệm
3 phiên bản máy chủ CentOS 7 như hình
Tên máy chủ Địa chỉ IP
load_balancer 3.17.12.132
server_01 3.19.229.234
máy chủ_02 3.17.9.217
Bước 1: Chỉnh sửa tệp /etc/hosts cho bộ cân bằng tải
Để bắt đầu, hãy đăng nhập vào hệ thống cân bằng tải và sửa đổi tệp /etc/hosts để bao gồm tên máy chủ và địa chỉ IP của hai máy chủ web như được hiển thị
$ bởi vì / vân vân / máy chủ
3.19.229.234 máy chủ_01
3.17.9.217 máy chủ-02
Sau khi hoàn tất, hãy lưu các thay đổi và thoát khỏi tệp cấu hình.
Bây giờ hãy truy cập từng máy chủ web và cập nhật /etc/hosts tệp có địa chỉ IP và tên máy chủ của bộ cân bằng tải
3.17.12.132 bộ cân bằng tảiSau đó, hãy xác nhận rằng bạn có thể ping bộ cân bằng tải từ máy chủ_01
Và tương tự như vậy từ server_02
Ngoài ra, hãy đảm bảo rằng bạn có thể ping máy chủ từ bộ cân bằng tải.
Hoàn hảo ! tất cả các máy chủ có thể giao tiếp với bộ cân bằng tải!
Bước 2: Cài đặt và cấu hình HA Proxy trên cân bằng tải
Vì HA Proxy có sẵn từ kho lưu trữ chính thức của CentOS nên chúng tôi sẽ cài đặt nó bằng trình quản lý gói yum hoặc dnf.
Nhưng như mọi khi, hãy cập nhật hệ thống trước
# cập nhật yumTiếp theo cài đặt HA Proxy như hình
# cài đặt yum haproxySau khi cài đặt thành công, hãy điều hướng đến thư mục haproxy.
# đĩa CD / vân vân / haproxyPhương pháp hay nhất yêu cầu chúng tôi sao lưu bất kỳ tệp cấu hình nào trước khi thực hiện bất kỳ sửa đổi nào. Vì vậy, sao lưu haproxy.cfg tập tin bằng cách đổi tên nó.
# mv haproxy.cfg haproxy.cfg.bakTiếp theo, tiếp tục và mở tệp cấu hình
bởi vì haproxy.cfgĐảm bảo bạn thực hiện sửa đổi như được hiển thị
#------------------------------------------------- --------------------# Thiết lập toàn cầu
#------------------------------------------------- --------------------
toàn cầu
log 127.0.0.1 cục bộ2 #Nhật ký cấu hình
chroot / là / lib / haproxy
pidfile / là / chạy / haproxy.pid
maxconn 4000
người dùng haproxy #Haproxy chạy dưới người dùng và nhóm 'haproxy'
nhóm haproxy
yêu tinh
# bật ổ cắm unix thống kê
ổ cắm thống kê / là / lib / haproxy / số liệu thống kê
#------------------------------------------------- --------------------
# mặc định phổ biến mà tất cả các phần 'nghe' và 'phụ trợ' sẽ
# sử dụng nếu không được chỉ định trong khối của họ
#------------------------------------------------- --------------------
mặc định
chế độ http
log toàn cầu
tùy chọn httplog
tùy chọn notlognull
tùy chọn http-server-đóng
tùy chọn forwardfor ngoại trừ 127.0.0.0 / số 8
tùy chọn gửi lại
thử lại 3
hết thời gian chờ http-request 10 giây
hàng chờ hết giờ 1 phút
hết thời gian kết nối 10 giây
khách hàng hết thời gian 1 phút
máy chủ hết thời gian 1 phút
thời gian chờ http-keep-alive 10s
kiểm tra thời gian chờ 10 giây
maxconn 3000
#------------------------------------------------- --------------------
#HAProxy Giám sát Cấu hình
#------------------------------------------------- --------------------
nghe giám sát haproxy3 * : 8080 #Haproxy Giám sát chạy trên cổng 8080
chế độ http
tùy chọn chuyển tiếp
tùy chọn httpđóng
số liệu thống kê cho phép
số liệu thống kê huyền thoại
làm mới số liệu thống kê 5s
số liệu thống kê / số liệu thống kê #URL để theo dõi HAProxy
vương quốc thống kê Haproxy\ Thống kê
thống kê xác thực Mật khẩu123: Mật khẩu123 #Người dùng và Mật khẩu để đăng nhập vào bảng điều khiển giám sát
quản trị viên thống kê nếu THẬT
default_backend ứng dụng chính #Đây là tùy chọn để theo dõi chương trình phụ trợ
#------------------------------------------------- --------------------
# Cấu hình FrontEnd
#------------------------------------------------- --------------------
lối vào chính
trói buộc * : 80
tùy chọn http-server-đóng
tùy chọn chuyển tiếp
default_backend ứng dụng chính
#------------------------------------------------- --------------------
# Quay vòng BackEnd dưới dạng thuật toán cân bằng
#------------------------------------------------- --------------------
ứng dụng phụ trợ-chính
thăng bằng vòng tròn #thuật toán cân bằng
tùy chọn httpchk ĐẦU / HTTP / 1.1 \r\nMáy chủ lưu trữ:\ máy chủ cục bộ
#Kiểm tra xem ứng dụng máy chủ có hoạt động tốt không - 200 mã trạng thái
máy chủ máy chủ_01 3.19.229.234: 80 kiểm tra #Nginx1
máy chủ máy chủ_02 3.17.9.217: 80 kiểm tra #Nginx2
Đảm bảo sửa đổi tên máy chủ web và địa chỉ IP như được chỉ ra trong hai dòng cuối cùng. Lưu các thay đổi và thoát.
Bước tiếp theo sẽ là định cấu hình Rsyslog để có thể ghi nhật ký thống kê HAProxy.
# bởi vì / vân vân / rsyslog.confĐảm bảo bạn bỏ ghi chú các dòng bên dưới để cho phép kết nối UDP
$ModLoad imudp$UDPServerRun 514
Tiếp theo, tiếp tục và tạo một tệp cấu hình mới haproxy.conf
# bởi vì / vân vân / rsyslog.d / haproxy.confDán các dòng sau, lưu và thoát
local2.=thông tin / là / đăng nhập / haproxy-access.log #Đối với nhật ký truy cậplocal2.notice / là / đăng nhập / haproxy-info.log #Đối với thông tin dịch vụ - Backend, loadbalancer
Để các thay đổi có hiệu lực, hãy khởi động lại daemon rsyslog như sau:
# systemctl khởi động lại rsyslogSau đó bắt đầu và kích hoạt HAProxy
# systemctl bắt đầu rsyslog# systemctl kích hoạt rsyslog
Xác minh rằng HAProxy đang chạy
# trạng thái systemctl rsyslogBước 3: Cài đặt và định cấu hình Nginx
Bây giờ, phần duy nhất còn lại là cài đặt Nginx. Đăng nhập vào từng máy chủ và cập nhật các gói hệ thống trước tiên:
# cập nhật yumCài đặt tiếp theo EPEL (Gói bổ sung dành cho Enterprise Linux)
# cài đặt yum phát hành ấm ápĐể cài đặt Nginx, hãy chạy lệnh:
# cài đặt yum nginxTiếp theo, bắt đầu và kích hoạt Nginx
# systemctl bắt đầu nginx# systemctl kích hoạt nginx
Sau đó, chúng tôi sẽ sửa đổi tệp index.html trong cả hai trường hợp để chứng minh hoặc mô phỏng cách bộ cân bằng tải có thể phân phối lưu lượng truy cập web trên cả hai máy chủ.
Đối với máy chủ_01
# tiếng vang 'server_01. Chào mừng đến với máy chủ web đầu tiên' > index.htmlĐối với máy chủ_02
# tiếng vang 'server_02. Chào mừng đến với máy chủ web thứ hai' > index.htmlĐể các thay đổi được thực hiện, hãy khởi động lại Nginx
# systemctl khởi động lại nginxBước 4: Kiểm tra xem cân bằng tải có hoạt động không
Cuối cùng thì chúng ta cũng đến điểm mà chúng ta muốn xem liệu cấu hình có hoạt động hay không. Vì vậy, hãy đăng nhập vào bộ cân bằng tải và thực hiện lặp đi lặp lại lệnh curl
# cuộn tròn 3.17.12.132Bạn sẽ nhận được đầu ra luân phiên trên thiết bị đầu cuối hiển thị giá trị của index.html từ server_01 và server_02
Bây giờ hãy kiểm tra bằng trình duyệt web. Duyệt qua địa chỉ IP của bộ cân bằng tải của bạn
http: // cân bằng tải-địa chỉ IPTrang đầu tiên sẽ hiển thị nội dung từ bất kỳ máy chủ web nào
Bây giờ làm mới trang web và kiểm tra xem nó có hiển thị nội dung từ máy chủ web khác không
Hoàn hảo ! Cân bằng tải đang phân phối lưu lượng IP đồng đều giữa hai máy chủ web!
Điều này kết thúc hướng dẫn này về cách bạn có thể cài đặt cũng như định cấu hình HAProxy trên CentOS 8. Phản hồi của bạn sẽ được đánh giá cao.