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

1、準(zhǔn)備兩臺(tái)裝有Nginx虛擬機(jī)
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 #(檢測(cè)腳本執(zhí)行的間隔)
weight 2
}
vrrp_instance VI_1 {
state MASTER # 備份服務(wù)器上將 MASTER 改為 BACKUP
interface ens33 //網(wǎng)卡
virtual_router_id 51 # 主、備機(jī)的 virtual_router_id 必須相同
priority 100 # 主、備機(jī)取不同的優(yōu)先級(jí),主機(jī)值較大,備份機(jī)值較小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.19.50 # VRRP H 虛擬地址(非真實(shí)物理地址)
}
}從服務(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 #(檢測(cè)腳本執(zhí)行的間隔)
weight 2
}
vrrp_instance VI_1 {
state BACKUP # 備份服務(wù)器上將 MASTER 改為 BACKUP
interface ens33 //網(wǎng)卡
virtual_router_id 51 # 主、備機(jī)的 virtual_router_id 必須相同
priority 90 # 主、備機(jī)取不同的優(yōu)先級(jí),主機(jī)值較大,備份機(jī)值較小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.19.50 # VRRP H 虛擬地址(非真實(shí)物理地址)
}
}在/usr/local/src 添加檢測(cè)腳本,兩臺(tái)虛擬機(jī)都要添加
添加文件: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把兩臺(tái)服務(wù)器上 nginx 和 keepalived 啟動(dòng) 重新啟動(dòng) nginx 啟動(dòng) keepalived:
systemctl start keepalived.service
檢驗(yàn)keepalived是否啟動(dòng)成功
ps -ef | grep keepalived
最終測(cè)試 在瀏覽器地址欄輸入 虛擬 ip 地址 192.168.17.50訪問

在master 輸入 ip a 可以查看到

停止主服務(wù)器仍可以訪問從服務(wù)器
systemctl stop keepalived.service docker stop mynginx
至此實(shí)現(xiàn)nginx高可用集群。更多相關(guān)nginx 高可用集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解在使用CDN加速時(shí)Nginx獲取用戶IP的配置方法
這篇文章主要介紹了在使用CDN加速時(shí)Nginx服務(wù)器獲取用戶IP的方法,文中針對(duì)PHP站點(diǎn)環(huán)境舉例來講,需要的朋友可以參考下2016-02-02
Nginx實(shí)戰(zhàn)之反向代理WebSocket的配置實(shí)例
最近在工作中遇到一個(gè)需求,需要使用 nginx 反向代理websocket,經(jīng)過查找一番資料,目前已經(jīng)測(cè)試通過,所以這篇文章主要給大家介紹了Nginx反向代理WebSocket配置的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04
Nginx 請(qǐng)求壓縮的實(shí)現(xiàn)(動(dòng)態(tài)壓縮,靜態(tài)壓縮)
本文主要介紹了Nginx 請(qǐng)求壓縮的實(shí)現(xiàn)(動(dòng)態(tài)壓縮,靜態(tài)壓縮),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
nginx反向代理失效前端無法獲取后端的數(shù)據(jù)解決辦法
Nginx服務(wù)器的反向代理服務(wù)是其最常用的重要功能,由反向代理服務(wù)也可以衍生出很多與此相關(guān)的Nginx服務(wù)器重要功能,下面這篇文章主要給大家介紹了關(guān)于nginx反向代理失效前端無法獲取后端的數(shù)據(jù)解決的相關(guān)資料,需要的朋友可以參考下2023-12-12

