您好,登錄后才能下訂單哦!
本篇內容主要講解“nginx怎么結合keepalived實現高可用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“nginx怎么結合keepalived實現高可用”吧!
keepalived的介紹
keepalived的作用是檢測服務器的狀態,如果有一臺web服務器宕機,或工作出現故障,keepalived將檢測到,并將有故障的服務器從系統中剔除,同時使用其他服務器代替該服務器的工作,當服務器工作正常后keepalived自動將服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的服務器。
系統架構圖
實現步驟
1.環境配置
1.1 安裝nginx
安裝相關依賴
yum install pcre-devel zlib zlib-devel openssl openssl-devel
上傳解壓壓縮包
tar zxvf nginx-1.12.2.tar.gz
創建目錄,檢測配置
mkdir -p /usr/local/nginx ./configure --prefix=/usr/local/nginx
預編譯和安裝
make && make install
啟動、停止相關命令
cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s start
1.2 安裝keepalived
yum install -y keepalived
2.主機配置
修改keepalived配置文件
vim /etc/keepalived/keepalived.conf
修改的內容如下
#新增的配置 vrrp_script chk_http_port { script "/shell/nginx_check.sh" #腳本地址 interval 2 #檢測腳本執行的間隔 weight 2 #比重 } vrrp_instance vi_1 { state master #主服務器為master,從服務器為backup interface eth0 #網卡 virtual_router_id 51 #主、備機的virtual_router_id必須相同 priority 100 #主、備機不同的優先級,主機優先級較大,備機值較小,默認是100 advert_int 1 authentication { auth_type pass auth_pass 1111 } #虛擬ip地址 virtual_ipaddress { 192.168.126.88 } }
創建編寫腳本文件
mkdir /shell/nginx_check.sh vim /shell/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
3.從機配置
修改keepalived配置文件
vrrp_instance vi_1 { state backup #主服務器為master,從服務器為backup interface eth0 #網卡 virtual_router_id 51 #主、備機的virtual_router_id必須相同 priority 50 #主、備機不同的優先級,主機優先級較大,備機值較小 advert_int 1 authentication { auth_type pass auth_pass 1111 } #虛擬ip地址 virtual_ipaddress { 192.168.126.88 } }
4.啟動服務
啟動
service keepalived start
查看虛擬ip地址
ip addr 1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state unknown link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state up qlen 1000 link/ether 00:0c:29:4f:31:ce brd ff:ff:ff:ff:ff:ff inet 192.168.126.100/24 brd 192.168.126.255 scope global eth0 inet 192.168.126.88/32 scope global eth0 inet6 fe80::20c:29ff:fe4f:31ce/64 scope link valid_lft forever preferred_lft forever
5.關閉防火墻測試
關閉防火墻
service iptables stop #查看防火墻是否開機自啟動 chkconfig --list | grep iptables chkconfig iptables off
登陸虛擬ip地址查看
http://192.168.126.88/
到此,相信大家對“nginx怎么結合keepalived實現高可用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。