nginx結(jié)合keepalived實現(xiàn)高可用的完整步驟
前言
為了滿足系統(tǒng)的高可用,一般都需要搭建集群。當(dāng)主機(jī)掛掉的時候,我們的系統(tǒng)還可以繼續(xù)提供服務(wù)。當(dāng)我們使用nginx作為反向代理和動靜分離服務(wù)器的時候,也是如此。實現(xiàn)系統(tǒng)的高可用性,是我們程序員關(guān)注的重點。本文介紹了nginx結(jié)合keepalived實現(xiàn)主從模式搭建高可用集群。
前提知識
本文不作過多的nginx相關(guān)配置介紹,默認(rèn)讀者已經(jīng)了解nginx的相關(guān)知識。
keepalived的介紹
Keepalived的作用是檢測服務(wù)器的狀態(tài),如果有一臺web服務(wù)器宕機(jī),或工作出現(xiàn)故障,Keepalived將檢測到,并將有故障的服務(wù)器從系統(tǒng)中剔除,同時使用其他服務(wù)器代替該服務(wù)器的工作,當(dāng)服務(wù)器工作正常后Keepalived自動將服務(wù)器加入到服務(wù)器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復(fù)故障的服務(wù)器。
系統(tǒng)架構(gòu)圖
實現(xiàn)步驟
1.環(huán)境配置
1.1 安裝nginx
安裝相關(guān)依賴
yum install pcre-devel zlib zlib-devel openssl openssl-devel
上傳解壓壓縮包
tar zxvf nginx-1.12.2.tar.gz
創(chuàng)建目錄,檢測配置
mkdir -p /usr/local/nginx ./configure --prefix=/usr/local/nginx
預(yù)編譯和安裝
make && make install
啟動、停止相關(guān)命令
cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s start
1.2 安裝keepalived
yum install -y keepalived
2.主機(jī)配置
修改keepalived配置文件
vim /etc/keepalived/keepalived.conf
修改的內(nèi)容如下
#新增的配置 vrrp_script chk_http_port { script "/shell/nginx_check.sh" #腳本地址 interval 2 #檢測腳本執(zhí)行的間隔 weight 2 #比重 } vrrp_instance VI_1 { state MASTER #主服務(wù)器為MASTER,從服務(wù)器為BACKUP interface eth0 #網(wǎng)卡 virtual_router_id 51 #主、備機(jī)的virtual_router_id必須相同 priority 100 #主、備機(jī)不同的優(yōu)先級,主機(jī)優(yōu)先級較大,備機(jī)值較小,默認(rèn)是100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } #虛擬IP地址 virtual_ipaddress { 192.168.126.88 } }
創(chuàng)建編寫腳本文件
mkdir /shell/nginx_check.sh vim /shell/nginx_check.sh
腳本文件內(nèi)容如下
#!/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.從機(jī)配置
修改keepalived配置文件
vrrp_instance VI_1 { state BACKUP #主服務(wù)器為MASTER,從服務(wù)器為BACKUP interface eth0 #網(wǎng)卡 virtual_router_id 51 #主、備機(jī)的virtual_router_id必須相同 priority 50 #主、備機(jī)不同的優(yōu)先級,主機(jī)優(yōu)先級較大,備機(jī)值較小 advert_int 1 authentication { auth_type PASS auth_pass 1111 } #虛擬IP地址 virtual_ipaddress { 192.168.126.88 } }
4.啟動服務(wù)
啟動
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.關(guān)閉防火墻測試
關(guān)閉防火墻
service iptables stop #查看防火墻是否開機(jī)自啟動 chkconfig --list | grep iptables chkconfig iptables off
登陸虛擬IP地址查看
http://192.168.126.88/
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
- keepalived+nginx高可用實現(xiàn)方法示例
- Keepalived+Nginx+Tomcat 實現(xiàn)高可用Web集群的示例代碼
- Keepalived實現(xiàn)Nginx負(fù)載均衡高可用的示例代碼
- keepalived對nginx進(jìn)行高可用搭建及原理詳解
- Keepalived如何實現(xiàn)Nginx高可用
- keepalived?+?nginx?實現(xiàn)高可用方案
- 使用Nginx?+?Keepalived?實現(xiàn)高可用?Web?負(fù)載均衡筆記(虛擬機(jī))
- Nginx+keepalived實現(xiàn)七層的負(fù)載均衡的高可用(最新解決方案)
- Nginx高可用Keepalived的具體使用
- Nginx使用Keepalived部署web集群(高可用高性能負(fù)載均衡)實戰(zhàn)案例
- Keepalived搭建nginx高可用的實現(xiàn)
相關(guān)文章
當(dāng) Nginx 出現(xiàn) 504 錯誤的完美解決方法
Nginx是一款流行的Web服務(wù)器和反向代理服務(wù)器,但有時會遇到504網(wǎng)關(guān)超時錯誤,這種錯誤通常是由后端服務(wù)器響應(yīng)緩慢、Nginx配置不當(dāng)或網(wǎng)絡(luò)問題導(dǎo)致的,下面給大家分享Nginx 出現(xiàn) 504 錯誤的完美解決方法,一起看看吧2024-09-09nginx和Apache配置SSL證書的實現(xiàn)步驟
SSL證書是一種數(shù)字證書,用于加密在網(wǎng)絡(luò)上發(fā)送的數(shù)據(jù)并保護(hù)敏感信息的安全性,本文主要介紹了nginx和Apache配置SSL證書的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2023-12-12詳解Nginx 13: Permission denied 解決方案
這篇文章主要介紹了詳解Nginx 13: Permission denied 解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07Nginx如何設(shè)置域名轉(zhuǎn)發(fā)到服務(wù)器指定的端口
這篇文章主要介紹了Nginx如何設(shè)置域名轉(zhuǎn)發(fā)到服務(wù)器指定的端口,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01nginx開啟HSTS讓瀏覽器強制跳轉(zhuǎn)HTTPS訪問詳解
這篇文章主要介紹了nginx開啟HSTS讓瀏覽器強制跳轉(zhuǎn)HTTPS訪問詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05