Cách thiết lập HAProxy làm Trình cân bằng tải cho Nginx trong CentOS 8

Cach Thiet Lap Haproxy Lam Trinh Can Bang Tai Cho Nginx Trong Centos 8



High Availability Proxy, còn được viết tắt là HAProxy là một bộ cân bằng tải nhẹ và nhanh, đồng thời hoạt động như một máy chủ proxy. Là một bộ cân bằng tải, nó đóng một vai trò quan trọng trong việc phân phối lưu lượng truy cập web đến trên nhiều máy chủ web bằng các tiêu chí nhất định. Khi làm như vậy, nó đảm bảo tính sẵn sàng cao và khả năng chịu lỗi trong trường hợp có quá nhiều yêu cầu đồng thời có thể làm quá tải một máy chủ web.

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ải

Sau đó, 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 yum

Tiếp theo cài đặt HA Proxy như hình

# cài đặt yum haproxy

Sau 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 / haproxy

Phươ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.bak

Tiế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 / / lib / haproxy
pidfile / / 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ê / / 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.conf

Dán các dòng sau, lưu và thoát

local2.=thông tin / / đăng nhập / haproxy-access.log #Đối với nhật ký truy cập
local2.notice / / đă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 rsyslog

Sau đó 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 rsyslog

Bướ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 yum

Cà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 nginx

Tiế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 nginx

Bướ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.132

Bạ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ỉ IP

Trang đầ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.