nginx搭建高可用集群的實現(xiàn)方法
Keepalived+Nginx 高可用集群(主從模式)
集群架構(gòu)圖

1、準(zhǔn)備兩臺裝有Nginx虛擬機
2、都需安裝Keepalived
yum install keepalived -y
查看是否安裝成功
rpm -q -a keepalived
安裝之后,在 etc 里面生成目錄 keepalived,有文件 keepalived.conf
3、完成高可用配置(主從配置)
修改/etc/keepalived/keepalivec.conf 配置文件
主服務(wù)配置:keepalivec.conf
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.19.129
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(檢測腳本執(zhí)行的間隔)
weight 2
}
vrrp_instance VI_1 {
state MASTER # 備份服務(wù)器上將 MASTER 改為 BACKUP
interface ens33 //網(wǎng)卡
virtual_router_id 51 # 主、備機的 virtual_router_id 必須相同
priority 100 # 主、備機取不同的優(yōu)先級,主機值較大,備份機值較小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.19.50 # VRRP H 虛擬地址(非真實物理地址)
}
}從服務(wù)配置:keepalivec.conf
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.19.129
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(檢測腳本執(zhí)行的間隔)
weight 2
}
vrrp_instance VI_1 {
state BACKUP # 備份服務(wù)器上將 MASTER 改為 BACKUP
interface ens33 //網(wǎng)卡
virtual_router_id 51 # 主、備機的 virtual_router_id 必須相同
priority 90 # 主、備機取不同的優(yōu)先級,主機值較大,備份機值較小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.19.50 # VRRP H 虛擬地址(非真實物理地址)
}
}在/usr/local/src 添加檢測腳本,兩臺虛擬機都要添加
添加文件:nginx_check.sh
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi把兩臺服務(wù)器上 nginx 和 keepalived 啟動 重新啟動 nginx 啟動 keepalived:
systemctl start keepalived.service
檢驗keepalived是否啟動成功
ps -ef | grep keepalived
最終測試 在瀏覽器地址欄輸入 虛擬 ip 地址 192.168.17.50訪問

在master 輸入 ip a 可以查看到

停止主服務(wù)器仍可以訪問從服務(wù)器
systemctl stop keepalived.service docker stop mynginx
至此實現(xiàn)nginx高可用集群。更多相關(guān)nginx 高可用集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Nginx中使用X-Sendfile頭提升PHP文件下載的性能(針對大文件下載)
這篇文章主要介紹了在Nginx中使用X-Sendfile頭提升PHP文件下載的性能,可以用在針對大文件下載的情況,下載非網(wǎng)站W(wǎng)eb目錄文件的需求,提供下載權(quán)限控制的場景,需要的朋友可以參考下2014-07-07
502?Bad?Gateway產(chǎn)生的原因及8個詳細的解決方法總結(jié)
Nginx?502?Bad?Gateway的錯誤已經(jīng)遇到好幾次了,這里做一下記錄,備忘,下面這篇文章主要給大家介紹了關(guān)于502?Bad?Gateway產(chǎn)生的原因及8個詳細的解決方法,文中的介紹非常詳細,需要的朋友可以參考下2023-05-05
Nginx 域名SSL證書配置(網(wǎng)站 http 升級為 https)
這篇文章主要介紹了Nginx 域名SSL證書配置(網(wǎng)站 http 升級為 https),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

