Nginx教程系列五:Nginx+Keepalived搭建高可用主从架构
生活随笔
收集整理的這篇文章主要介紹了
Nginx教程系列五:Nginx+Keepalived搭建高可用主从架构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 概述
- 1.1 為什么要Nginx主從
- 1.2 Nginx主從架構
- 1.3 環境準備
- 2. 安裝與配置Keepalived
- 3. 驗證keepalived
1. 概述
1.1 為什么要Nginx主從
先看下面一張圖,這是普通的Nginx負載均衡實現
如圖可見,所有的請求都由Nginx進行分發。當Nginx掛掉之后,也就意味著后面所有tomcat服務都無法請求。
如果能搭建一個備用Nginx,在其中1個Nginx掛掉之后,繼續接收并分發請求,就能解決我們的問題了。
1.2 Nginx主從架構
1.3 環境準備
- 需要2臺Nginx服務器(這邊IP分別為192.168.25.131、192.168.25.135)安裝說明查看這里:Linux安裝Nginx
- 需要keepalived
- 需要虛擬IP
2. 安裝與配置Keepalived
以下步驟在2臺Linux上都要執行
使用yum直接安裝:
yum install keepalived -y查看是否安裝成功:
rpm -q -a keepalived修改配置文件,路徑: /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVEL }vrrp_script chk_http_port {script "/usr/local/src/nginx_check.sh"interval 2weight 2 }vrrp_instance VI_1 {state BACKUP # 主服務器MASTER,從服務器BACKUPinterface ens33 # 網卡名,通過ifconfig命令查看virtual_router_id 51 # 主、從服務器的virtual_router_id必須相同priority 90 # 主、從服務器取不同的優先級,主機值較大,從機值較小advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.25.50 # 虛擬IP地址}track_script {chk_http_port} }從服務器要修改2個地方:
state BACKUP priority 90在 /usr/local/src/ 目錄下創建nginx_check.sh文件,內容如下:
#!/bin/bashA=`ps -C nginx --no-header |wc -l`if [ $A -eq 0 ]thenecho 'nginx server is died'killall keepalivedfi記得給shell文件執行權限:
chmod +x nginx_check.sh腳本內部使用了killall命令,需要安裝psmisc:
yum install psmisc啟動 keepalived 服務:
systemctl start keepalived3. 驗證keepalived
- 給2臺服務器分別啟動Nginx、Keepalived
- 分別打開Nginx日志
-
打開Keepalived配置的虛擬IP地址 http://192.168.25.50/,正常地打開了Nginx首頁,證明虛擬IP有效果
-
多刷新幾次頁面,發現MASTER日志一直新增記錄,而BACKUP的日志沒有變化,說明會優先訪問MASTER主機。
-
驗證主服務器Nginx停止服務后,會不會切換到從服務器Nginx:
這時候再訪問 http://192.168.25.50/ 地址,發現從服務器的Nginx日志出現了訪問記錄,說明主從模式配置成功。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Nginx教程系列五:Nginx+Keepalived搭建高可用主从架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx教程系列一:Nginx简介(反
- 下一篇: Elasticsearch from、s