Nginx的HA高可用的搭建的實現(xiàn)
1. 什么是高可用
高可用(High Availability, HA)是一種系統(tǒng)設(shè)計策略,旨在確保服務(wù)或應用在面對硬件故障、軟件缺陷或任何其他異常情況時,仍能持續(xù)穩(wěn)定地運行。它通過實現(xiàn)冗余性、故障轉(zhuǎn)移、負載均衡、數(shù)據(jù)一致性、監(jiān)控自動化、預防性維護、災難恢復計劃以及服務(wù)級別協(xié)議等關(guān)鍵要素,來減少服務(wù)中斷時間,提升服務(wù)的可靠性和穩(wěn)定性。
2. 高可用的原理 -- keepalived
思考
- Nginx如果宕機,導致客戶無法訪問到項目。--- 搭建Nginx高可用
- 如果Nginx主節(jié)點宕機,如何才能切換到從節(jié)點。 -- 使用keepalived組件

3. 搭建HA高可用
我這邊用來兩臺虛擬機
安裝keepalived
yum install -y keepalived
默認安裝在/etc/keepalived下

修改keepalived.conf配置文件
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
# ip的地址
smtp_ server 192.168.111.188 // 改為自己的ip
smtp_connect_timeout 30
router_id 192.168.111.188 // 改為自己的ip
}
# 執(zhí)行腳本
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 # 每2s執(zhí)行一次該腳本
weight -20 # keepalive宕機 權(quán)重-20 優(yōu)先級
}
vrrp_instance VI_1 {
state MASTER # 角色
interface ens33 # 網(wǎng)卡名
virtual_router_id 51 # id 保證主從相同
priority 100 # 優(yōu)先級 主節(jié)點大于從節(jié)點
advert_int 1
authentication {
auth type PASS
auth pass 1111
}
virtual_ipaddress {
192.168.111.50 # 虛擬ip. 使用逗號隔開
}
track_script {
chk_http_port # 追蹤nginx腳本
}
}從節(jié)點
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
# ip的地址
smtp_ server 192.168.111.189
smtp_connect_timeout 30
router_id 192.168.111.189
}
# 執(zhí)行腳本
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 # 每2s執(zhí)行一次該腳本
weight -20 # keepalive宕機 權(quán)重-20 優(yōu)先級
}
vrrp_instance VI_1 {
state BACKUP # 角色
interface ens33 # 網(wǎng)卡名
virtual_router_id 51 # id 保證主從相同
priority 90 # 優(yōu)先級 主節(jié)點大于從節(jié)點
advert_int 1
authentication {
auth type PASS
auth pass 1111
}
virtual_ipaddress {
192.168.111.50 # 虛擬ip. 使用逗號隔開
}
track_script {
chk_http_port # 追蹤nginx腳本
}
}nginx_check.sh
#!/bin/bash
# 檢查是否開啟nginx---統(tǒng)計nginx進程的個數(shù)
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
pkill -9 keepalived
fi注意修改權(quán)限

修改權(quán)限: chmod 777 nginx_check.sh
啟動
nginx keepalived systemctl start|stop keepalived
4. 演示
現(xiàn)在是用第一臺虛擬機進行代理

故意把第一臺給宕掉,看看會不會自動切換到第二臺

到此這篇關(guān)于Nginx的HA高可用的搭建的實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx HA高可用搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx 自定義 404、50x 錯誤頁面的實現(xiàn)
本文主要介紹了nginx 自定義 404、50x 錯誤頁面的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12
Nginx設(shè)置HTTPS監(jiān)聽的具體步驟
這篇文章主要介紹了Nginx設(shè)置HTTPS監(jiān)聽的具體步驟,在 Nginx 上設(shè)置 HTTPS 證書,并將所有 HTTP 請求重定向到 HTTPS,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-12-12
使用nginx緩存服務(wù)器上靜態(tài)文件的設(shè)置方法
這篇文章主要介紹了使用nginx緩存服務(wù)器上的靜態(tài)文件,文中給大家提到了nginx緩存的優(yōu)點及設(shè)置方法,通過實例相結(jié)合的形式給大家介紹的非常詳細,需要的朋友可以參考下2018-05-05

