欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

生產(chǎn)環(huán)境部署Nginx服務器雙機熱備部署keepalived的步驟(多種模式教程)

 更新時間:2024年07月01日 14:53:25   作者:Linux運維技術棧  
今天演示下生產(chǎn)環(huán)境keepalived的部署方式,安裝模式有很多,比如說主備模型和雙主模型,主備分:搶占模式 和 非搶占模式,對Nginx keepalived 雙機熱備部署相關知識感興趣的朋友跟隨小編一起看看吧

前言:今天演示下生產(chǎn)環(huán)境keepalived的部署方式,安裝模式有很多,比如說主備模型和雙主模型,主備分:搶占模式 和 非搶占模式。這里我會一一展開說具體怎么配置

一、雙節(jié)點均部署Nginx:

第一步:上傳安裝包到/usr/local/

第二步:安裝編譯依賴(使用普通用戶需要家sudo)

yum install gcc gcc-c++
yum install zlib zlib-devel
yum install pcre pcre-devel
yum install openssl libssl-dev

第三步:解壓,編譯安裝:

解壓命令: sudo tar -zxvf nginx-1.24.0.tar.gz 
進入nginx路徑:cd nginx-1.24.0	
編譯安裝:
命令:
sudo ./configure --prefix=/etc/nginx --sbin-path=/usr/bin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module
# --with-http_ssl_module這個參數(shù)為了啟用 SSL 支持。
命令:sudo make install

第四步:啟動nginx
命令:sudo nginx

第五步:停止nginx
命令:sudo nginx -s stop

第六步:配置nginx開機啟動

sudo vim /etc/rc.d/rc.local
添加執(zhí)行語句/usr/bin/nginx
退出保存
開機啟動文件授權
sudo chmod +x /etc/rc.d/rc.local

第六步:重載nginx
nginx -s reload
Nginx安全加固配置:在nginx.conf配置文件里加上TLSv1.2 TLSv1.3; 和隱藏版本號的部分。

# 在server { }塊里配置啟用TLSv1.2和TLSv1.3的參數(shù) 
    ssl_protocols TLSv1.2 TLSv1.3;  
# 在http { }塊里配置隱藏Nginx服務器版本信息的參數(shù)
    server_tokens off; 

二、雙節(jié)點部署keepalived主備模式

第一步:上傳安裝包到/mpjava/

第二步:安裝gcc等編譯需要的軟件庫。(要求網(wǎng)絡能連接外網(wǎng)進行更新,如果已安裝,可跳過此步驟)

命令:yum -y install libnl libnl-devel 
命令:yum -y install gcc gcc-c++
命令:yum -y install  openssl 
命令:yum -y install openssl-devel
命令:yum -y install libnl3-devel

第三步:解壓,并編譯安裝

命令:tar -zxf keepalived-2.2.4.tar.gz
命令:cd keepalived-2.2.4
命令:./configure --prefix=/usr/local/keepalived
命令:make && make install

第四步:復制配置文件

命令:mkdir  -p  /etc/keepalived
命令:cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ #主配置文件
命令:cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
命令:ln -s /usr/local/keepalived/sbin/keepalived /sbin/

第五步:設置開機啟動
命令:chkconfig keepalived on

第六步:啟動keepalived

命令:systemctl start keepalived
命令:ps -ef | grep keepalived

問題:發(fā)現(xiàn)未能正常啟動

查看日志命令:
systemctl status keepalived.service -l:查看 keepalived 服務的狀態(tài)及相關日志信息
journalctl -u keepalived.service -f:實時查看 keepalived 服務的日志輸出
tail -22f /var/log/messages | grep Keepalived:通過查看系統(tǒng)日志/var/log/messages中與 Keepalived 相關的內容來獲取日志信息

原因:通過查詢系統(tǒng)日志發(fā)現(xiàn)keepalived配置文件默認網(wǎng)卡名和當前服務器網(wǎng)卡名不一致。
解決:需要修改/etc/keepalived/keepalived.conf的網(wǎng)卡名,與服務器同步即可。
重啟keepalived:systemctl start keepalived

第七步:新建nginx檢測腳本nginxcheck.sh,并存放在指定目錄,本例使用:/mpjava/nginxcheck.sh

命令:vim /mpjava/nginxcheck.sh
添加以下內容:
#/bin/sh
nginxPidNum=`ps -C nginx --no-header |wc -l`
if [[ $nginxPidNum -eq 0 ]];
then
    killall keepalived
fi
注:需要設置nginxcheck.sh有執(zhí)行權限,chmod 777 /mpjava/nginxcheck.sh

第八步:按下例分別修改主、備服務器/etc/keepalived/keepalived.conf
聲明:這里的ip為虛假ip,只是舉例說明
主節(jié)點:

! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 10.0.0.1                  #配置當前網(wǎng)關
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chk_nginx {
    script "/mpjava/nginxcheck.sh"       #腳本位置
    interval 2                           #檢測時間間隔
    weight 2                             #權重2
}
vrrp_instance VI_1 {
    state BACKUP                   #主節(jié)點如果寫B(tài)ACKUP,和配置下面的nopreempt參數(shù)就為 非搶占模式;如果寫MASTER,刪除nopreempt參數(shù),則為 搶占模式
    nopreempt                      #非搶占模式參數(shù)  
    interface enp4s3
    virtual_router_id 69           #不能使用同網(wǎng)段已使用的ip地址;同一個VRRP實例中每個節(jié)點的虛擬路由ID必須相同
    priority 100                   #不管是否開啟搶占模式,主節(jié)點的優(yōu)先級必須高于 從節(jié)點
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {                           #以腳本為監(jiān)控chk_http_port是前面填寫的
        chk_nginx
    }
    virtual_ipaddress {
        10.0.0.10                        #vip
    }
}

從節(jié)點:

! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 10.0.0.1                   #配置當前網(wǎng)關
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chk_nginx {
    script "/mpjava/nginxcheck.sh"         #腳本位置
    interval 2                             #檢測時間間隔
    weight 2                               #權重2
}
vrrp_instance VI_1 {
    state BACKUP                           #不管是搶占模式否,從節(jié)點設置為backup
    nopreempt                              #非搶占模式參數(shù),如果不開啟該模式,需要刪除  
    interface eth0
    virtual_router_id 69                   #不能使用同網(wǎng)段已使用的ip地址;同一個VRRP實例中每個節(jié)點的虛擬路由ID必須相同
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {                             #以腳本為監(jiān)控chk_http_port是前面填寫的
        chk_nginx
    }
    virtual_ipaddress {
        10.0.0.10                          #VIP
    }
}`

第九步:驗證
由于涉及公司內網(wǎng)ip,驗證結果不方便展示,我這里口述方法:

搶占模式:啟動兩個節(jié)點的nginx和keepalived,當主節(jié)點的keepalived關了后,VIP會漂移到從節(jié)點上,當主節(jié)點啟動后,此時VIP會漂移回主節(jié)點;
非搶占模式:啟動兩個節(jié)點的nginx和keepalived,當主節(jié)點的keepalived關了后,VIP會漂移到從節(jié)點上,此時再將主節(jié)點啟動后,VIP不會漂移回主節(jié)點;
(以上驗證方法用命令ip a實時查看網(wǎng)卡的VIP地址的漂移節(jié)奏)

高可用集群中的不搶占功能。在一個HA集群中,如果主節(jié)點死機了,備用節(jié)點會進行接管,主節(jié)點再次正常啟動后一般會自動接管服務。對于實時性和穩(wěn)定性要求不高的業(yè)務系統(tǒng)來說,這種來回切換的操作還是可以接受的。而對于穩(wěn)定性和實時性要求很高的業(yè)務系統(tǒng)來說,不建議來回切換,畢竟服務的切換存在一定的風險和不穩(wěn)定性

三、Keepalived主主模式

第一步:按下例分別修改主、主服務器/etc/keepalived/keepalived.conf
聲明:這里的ip為虛假ip,只是舉例說明
主節(jié)點1:

! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 10.0.0.1                   #配置當前網(wǎng)關
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chk_nginx {
    script "/mpjava/nginxcheck.sh"        #腳本位置
    interval 2                            #檢測時間間隔
    weight 2                              #權重2
}
vrrp_instance VI_1 {
    state MASTER                          #主節(jié)點為MASTER
    interface enp4s3
    virtual_router_id 69                  #不能使用同網(wǎng)段已使用的ip地址;同一個VRRP實例中每個節(jié)點的虛擬路由ID必須相同
    priority 100                          #MASTER節(jié)點必須高于BACKUP節(jié)點
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {                           #以腳本為監(jiān)控chk_http_port是前面填寫的
        chk_nginx
    }
    virtual_ipaddress {
        10.0.0.8                         #vip1
    }
}
vrrp_instance VI_2 {
    state BACKUP                        #該節(jié)點設置為backup
    interface eth0
    virtual_router_id 70                # 同一個VRRP實例中每個節(jié)點的虛擬路由ID必須相同
    priority 90                         # MASTER節(jié)點必須高于BACKUP節(jié)點
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.9                        #vip2
    }
}

主節(jié)點2:

! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 10.0.0.1                  #配置當前網(wǎng)關
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chk_nginx {
    script "/mpjava/nginxcheck.sh"        #腳本位置
    interval 2                            #檢測時間間隔
    weight 2                              #權重2
}
vrrp_instance VI_1 {
    state BACKUP                          #不管是搶占模式否,從節(jié)點設置為backup
    nopreempt                             #非搶占模式參數(shù),如果不開啟該模式,需要刪除  
    interface eth0
    virtual_router_id 69                  #不能使用同網(wǎng)段已使用的ip地址;同一個VRRP實例中每個節(jié)點的虛擬路由ID必須相同
    priority 99                           #MASTER節(jié)點必須高于BACKUP節(jié)點
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {                            #以腳本為監(jiān)控chk_http_port是前面填寫的
        chk_nginx
    }
    virtual_ipaddress {
        10.0.0.8                          #vip1
    }
}`
vrrp_instance VI_2 {
    state MASTER                         #該節(jié)點設置為MASTER
    interface eth0
    virtual_router_id 70                 #同一個VRRP實例中每個節(jié)點的虛擬路由ID必須相同
    priority 100                         #MASTER節(jié)點的優(yōu)先級必須高于BACKUP節(jié)點
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.9                         #vip2
    }
}

第二步:驗證
由于涉及公司內網(wǎng)ip,驗證結果不方便展示,我這里口述方法:

啟動兩個主節(jié)點的nginx和keepalived,將nginx中配置的域名解析到這兩個VIP地址上,瀏覽器訪問正常。此時關閉其中一個主節(jié)點的keepalived,VIP會漂移到另外一臺主節(jié)點服務器上。
(以上驗證方法用命令ip a實時查看網(wǎng)卡的VIP地址的漂移節(jié)奏)

在keepalived的主備模式中,當主節(jié)點正常的時候,備節(jié)點永遠處于閑置狀態(tài),不會接受web請求,這樣就會浪費一半的資源。根據(jù)自身業(yè)務和資源等綜合來選擇模式。

到此這篇關于生產(chǎn)環(huán)境部署Nginx服務器雙機熱備部署-keepalived(多種模式教程)的文章就介紹到這了,更多相關Nginx keepalived 雙機熱備部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Nginx使用limit_req_zone對同一IP訪問進行限流的方法

    Nginx使用limit_req_zone對同一IP訪問進行限流的方法

    今天小編就為大家分享一篇Nginx使用limit_req_zone對同一IP訪問進行限流的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Nginx配置allow和deny指令的使用

    Nginx配置allow和deny指令的使用

    在Nginx配置中,allow和deny指令用于基于IP地址的訪問控制,幫助管理員靈活管理資源訪問權限,具有一定的參考價值,感興趣的可以了解一下
    2025-05-05
  • nginx中域名、目錄的301重定向配置示例

    nginx中域名、目錄的301重定向配置示例

    這篇文章主要介紹了nginx中域名、目錄的301重定向配置示例,分為域名和域名間的跳轉,目錄跳轉等,需要的朋友可以參考下
    2014-07-07
  • Nginx配置缺少導致CSS不起作用的問題及解決方法

    Nginx配置缺少導致CSS不起作用的問題及解決方法

    在Web開發(fā)中,確保樣式表正確加載是前端顯示正常工作的關鍵,然而,有時候即使CSS文件的路徑和代碼本身沒有問題,CSS樣式也可能無法正確應用,本文將分享一個常見的問題——Nginx配置缺少導致的CSS不起作用,以及如何解決這個問題,感興趣的朋友一起看看吧
    2024-07-07
  • Nginx的HA高可用的搭建的實現(xiàn)

    Nginx的HA高可用的搭建的實現(xiàn)

    高可用是一種系統(tǒng)設計策略,旨在確保服務或應用在面對硬件故障、軟件缺陷或任何其他異常情況時,仍能持續(xù)穩(wěn)定地運行,本文主要介紹了Nginx的HA高可用的搭建,感興趣的可以了解一下
    2024-08-08
  • 一文弄懂Nginx的location匹配的實現(xiàn)

    一文弄懂Nginx的location匹配的實現(xiàn)

    這篇文章主要介紹了一文弄懂Nginx的location匹配的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • Nginx實現(xiàn)流量拷貝的示例代碼

    Nginx實現(xiàn)流量拷貝的示例代碼

    在生產(chǎn)環(huán)境中,我們經(jīng)常需要將流量拷貝到預上線環(huán)境或測試環(huán)境,以便進行各種驗證和測試,本文主要介紹了Nginx實現(xiàn)流量拷貝,具有一定的參考價值,感興趣的可以了解一下
    2025-07-07
  • Nginx?Location匹配規(guī)則的具體使用

    Nginx?Location匹配規(guī)則的具體使用

    Nginx?location指令用于配置請求的處理方式,包括精確匹配、最長前綴匹配、正則表達式匹配等,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • 討論nginx?location?順序問題

    討論nginx?location?順序問題

    在有一次配置時發(fā)現(xiàn),請求?uri?明明是符合了前綴匹配?^~?規(guī)則,但?nginx?卻沒有使用,這讓我對上述結論產(chǎn)生了疑惑。后續(xù)通過調研、實踐后發(fā)現(xiàn),上述結論可以說對,但也不對,是不是更疑惑了?沒關系,看完這篇文章你就知道我為什么會這樣說了
    2022-05-05
  • Nginx基于gzip壓縮提高訪問速度

    Nginx基于gzip壓縮提高訪問速度

    這篇文章主要介紹了Nginx基于gzip壓縮提高訪問速度,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論