国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

keepalived雙機熱備nginx的配置方法

2024-08-30 12:29:25
字體:
來源:轉載
供稿:網友

nginx目前是我最常用的反向代理服務,線上環境為了能更好的應對突發情況,一般會使用keepalived雙機熱備nginx或者使用docker跑nginx集群,keepalived是比較傳統的方式,雖然用docker跑nginx集群更方便,但傳統的方式總是有他的可取之處,并且多學一些東西也很好。以后也會寫如何使用docker跑nginx集群。

  環境準備:

  2臺centos: 192.168.0.105 和192.168.0.118, 虛擬IP(VIP)為192.168.0.119

配置keepavlived

  分別在105和118上安裝keepalived

yum install keepalived

  準備心跳角本

  keepalived的配置相當靈活,可以定時執行角本命令,用于心跳檢查,比如,我們訪問nginx發現nginx不可訪問時,就關閉keepalived,從而切換到從nginx來實現不間斷的服務支持。

vi /etc/keepalived/keepalived.conf

#!/bin/bashcount=0for (( k=0; k<2; k++ ))do check_code=$( curl --connect-timeout 3 -sL -w "%{http_code}//n" http://localhost:81 -o /dev/null ) if [ "$check_code" != "200" ]; then  count=count +1  continue else  count = 0  break fidoneif [ "$count" != "0" ]; then killall keepalived exit 1else exit 0fi

  這段角本的意思就是說每次的心跳檢查會執行一個for循環,訪問http://localhost:81,在for的2次循環中如果返回的狀態都不是200就會關閉keepalived。這個角本在105和118兩臺機器上都要準備好。

  設置118機器上的keepalived為主節點,105機器上的keepalived為從節點,它們兩個的配置文件差不太多

vi /etc/keepalived/keepalived.conf

  118機器keepalived的配置文件

! Configuration File for keepalivedvrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" # 心跳檢測角本 interval 2 #腳本執行間隔,每2s檢測一次 weight -5 #腳本結果導致的優先級變更,檢測失?。_本返回非0)則優先級 -5 fall 3 #檢測連續2次失敗才算確定是真失敗。會用weight減少優先級(1-255之間) rise 2 #檢測1次成功就算成功。但不修改優先級}vrrp_instance VI_1 { state MASTER #指定keepalived的角色,MASTER表示此主機是主服務器,BACKUP表示此主機是備用服務器 interface eth0 #指定監測網絡的接口。實例綁定的網卡,因為在配置虛擬IP的時候必須是在已有的網卡上添加的 mcast_src_ip 192.168.0.118 ## 發送多播數據包時的源IP地址 virtual_router_id 51 #虛擬路由標識,MASTER和BACKUP必須是一致的 priority 100 #定義優先級,數字越大,優先級越高 advert_int 2 #設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒 authentication { #設置驗證類型和密碼。主從必須一樣  auth_type PASS #設置vrrp驗證類型,主要有PASS和AH兩種  auth_pass 1111 #設置vrrp驗證密碼,在同一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信 } virtual_ipaddress {  192.168.0.119 #VRRP 虛擬地址 如果有多個VIP,換行填寫 } track_script {  chk_nginx # 心跳腳本,即在 vrrp_script 部分指定的名字 }}

115機器上的角本對上面的角本稍做變動即可

改變 state MASTER -> state BACKUP,priority 100 -> priority 90,mcast_src_ip 192.168.0.118 -> mcast_src_ip 192.168.0.105。其他的地方保持不變,是不是很簡單。

! Configuration File for keepalivedvrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 weight -5}vrrp_instance VI_1 { state BACKUP # 修改 interface eth0 mcast_src_ip 192.168.0.105 # 修改 為本機IP virtual_router_id 51 priority 90 #數字變小 advert_int 2 authentication {  auth_type PASS  auth_pass 1111 } virtual_ipaddress {  192.168.0.119 } track_script {  chk_nginx }}

到這里keepalived的簡單配置就完成了下面就啟動keepalived

service keepalived start

安裝Nginx

查看nginx的依賴庫是否完整 

rpm -qa zlibrpm -qa zlib-develrpm -qa opensslrpm -qa openssl-develrpm -qa pcrerpm -qa pcre-develrpm -qa gcc

keepalived,nginx

如果沒有就安裝 

yum -y install gcc zlib zlib-devel openssl openssl-devel pcre-devel

下載并解壓nginx

mkdir nginxsrccd nginxsrc/

keepalived,nginx

wget http://nginx.org/download/nginx-1.13.9.tar.gztar zxvf nginx-1.13.9.tar.gzcd nginx-1.13.9/

keepalived,nginx

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module

安裝在/usr/local/nginx/sbin/nginx 目錄下 

make&&make install 

keepalived,nginx

執行成功后會顯示leaving directory  

keepalived,nginx

啟動

/usr/local/nginx/sbin/nginx 

keepalived,nginx

檢查

ps aux|grep nginx 

keepalived,nginx

開機啟動

vi /etc/rc.local

添加一行

/usr/local/nginx/sbin/nginx 

keepalived,nginx

因為我的機器上80端口被別的應用占用了,所以就修改105和118的 nginx.conf 把端口80 修改為81

vi /usr/local/nginx/conf/nginx.conf

 keepalived,nginx

分別個性105 和119上的index.html 加上一個ip以便們們識別打開的是哪個ip上的index.html

vi /usr/local/nginx/html/index.html

keepalived,nginx

nginx重新加載配置

/usr/local/nginx/sbin/nginx -s reload

好了,我們訪問一下

curl 192.168.0.119:81

返回的html是 118機器上的index.html

keepalived,nginx

 現在我們把118的nginx停止

 /usr/local/nginx/sbin/nginx -s stop

這時118上的keepalived的心跳檢查角本發現nginx無法訪問會把keepalived關閉,然后轉向從節點

我們再訪問一下119

 curl 192.168.0.119:81

keepalived,nginx

在118上重新啟動nginx和keepalived

再訪問119 返回的網址是118上的index.html

總結

以上所述是小編給大家介紹的keepalived雙機熱備nginx的配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贺州市| 阳原县| 洪雅县| 宣武区| 万全县| 磴口县| 福海县| 鹿邑县| 大足县| 葫芦岛市| 永昌县| 武安市| 凌海市| 舒城县| 仙桃市| 思茅市| 陆良县| 深圳市| 丹江口市| 阿拉善左旗| 镇平县| 泰兴市| 阜新| 惠来县| 察哈| 嘉荫县| 萨嘎县| 霍林郭勒市| 徐汇区| 遂昌县| 兰溪市| 庆云县| 会理县| 香港| 淮阳县| 江永县| 磐安县| 新河县| 濮阳县| 临泽县| 桦南县|