keepalive + nginx để đạt được tính sẵn sàng cao
Bài viết này chủ yếu giới thiệu keepaliving + nginx để đạt được tính sẵn sàng cao cho nginx hoặc chế độ chờ hoạt động đơn giản.
1. Tổng quan
Trước đây chúng ta đã tìm hiểu về cách sử dụng cơ bản các chức năng hoạt động và sao lưu của keepaliving, nhưng đó là sự thay đổi của vip đạt được bằng cách dừng quá trình keepaliving để đáp ứng với thời gian chết và các tình huống khác. Trong bài viết này, keepaliving được thêm vào tập lệnh xác minh nginx Survival. triển khai giám sát nginx và nhận ra tính sẵn sàng cao của nginx.
2. Chuẩn bị
Chuẩn bị 2 máy và xác định 111 là nút MASTER được giữ lại.
IP |
giữ nguyên |
172.16.225.111 |
BẬC THẦY |
172.16.225.110 |
HỖ TRỢ |
Định cấu hình nginx trên hai máy chủ tương ứng và sửa đổi index.html mặc định để thêm mã nhận dạng IP để dễ phân biệt như sau.
3. Cấu hình giữ nguyên
Định cấu hình track_script trong phiên bản trong tệp cấu hình được lưu giữ để chỉ định tập lệnh nhằm kiểm tra xem nginx có hoạt động hay không.
3.1 chủ (172.16.225.111)
! Tệp cấu hình cho keepaliving Global_defs { router_id LB111 } vrrp_script chk_nginx { # Tập lệnh tập lệnh cụ thể "/etc/keepaliving/nginx_check.sh" interval 2 # Thực thi 2 giây một lần trọng lượng -20 # Nếu thất bại một lần, mức độ ưu tiên sẽ là -20 } vrrp_instance VI_1 { trạng thái Giao diện MASTER ens160 virtual_router_id 51 ưu tiên 100 advert_int 1 xác thực { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.16.225.200 } # Chỉ định tập lệnh track_script { chk_nginx } }
3.2 chủ (172.16.225.110)
! Tệp cấu hình cho keepalived global_defs { router_id LB111 } vrrp_script chk_nginx { tập lệnh "/etc/keepalived/nginx_check.sh" khoảng thời gian 2 trọng số -20 } vrrp_instance VI_1 { trạng thái SAO LƯU giao diện ens160 virtual_router_id 51 ưu tiên 90 advert_int 1 xác thực { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.16.225.200 } track_scrip { chk_nginx } }
4. Định cấu hình nginx_check.sh
Nội dung chính của tập lệnh này là kiểm tra xem tiến trình nginx có hoạt động hay không thông qua lệnh ps. Nếu nó không hoạt động, hãy thử khởi động nó một lần và kiểm tra xem nó vẫn không thể khởi động được, hãy đóng keepaliving để có thể phát hiện được keepaliving. và VIP có thể trôi dạt đến nơi khác.
#!/bin/bash status=$(ps -C nginx --no-heading|wc -l) if [ "${status}" = "0" ]; then # Thử khởi động systemctl start nginx # Kiểm tra lại ngixn Quá trình status2=$(ps -C nginx --no-heading|wc -l) if [ "${status2}" = "0" ]; sau đó # Đóng giữ lại systemctl stop fi fi được giữ nguyên
Tập lệnh này cần được cấu hình trên cả hai máy.
#Cấp quyền thực thi tập lệnh chmode +x /etc/keepaliving/nginx_check.sh
# Khởi động lại hoặc bắt đầu giữ nguyên systemctl khởi động lại được giữ nguyên
5. Tắt selinux
Nếu bạn thấy lỗi sau trong nhật ký sau khi khởi động lại hoặc khởi động, điều đó có nghĩa là selinux chưa bị tắt.
# Đóng tạm thời setenforce 0 # Đóng vĩnh viễn sed -i 's/SELINUX=enforcing/\SELINUX=disabled/' /etc/selinux/config
6. Thử nghiệm mô phỏng
Sau khi khởi động nginx và keepalive trên hai máy tương ứng.
Vào vip 172.16.225.200 vip này hiện có trên máy 111 master.
Tắt ngixn trên máy chủ.
# Tắt nginx ./nginx -s stop
# Ngày hết hạn keepalived Tình trạng lỗi hệ thống đã chết systemctl status keepalived ● keepalived.service - LVS và VRRP High Availability Monitor Đã tải: đã tải (/usr/lib/systemd/system/keepalived.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: không hoạt động (đã chết)
Vào lại vip 172.16.225.200 thì thấy vip đã về máy backup 110.
Tóm tắt
Bài viết này chủ yếu giới thiệu cấu hình hoạt động và sao lưu cơ bản của keepaliving + nginx để đạt được tính khả dụng cao của nginx. Điểm cốt lõi là định cấu hình tập lệnh nginx_check.sh để thực thi keepaliving nếu nginx được phát hiện là không tồn tại trong nginx_check. sh, hãy thử khởi động nó. Nếu nó vẫn không hoạt động, hãy thử khởi động nó. Nếu nó vẫn tồn tại, quá trình được lưu giữ sẽ bị đóng trực tiếp.
Mọi người đều có thể ghé thăm blog cá nhân của tôi, Johnny's Hut. Chào mừng bạn đến theo dõi tài khoản công khai cá nhân của tôi.
Cuối cùng, bài viết về keepaliving+nginx để đạt được tính sẵn sàng cao kết thúc ở đây. Nếu bạn muốn biết thêm về keepaliving+nginx để đạt được tính sẵn sàng cao, vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan. blog tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!