溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nginx高可用集群的實(shí)現(xiàn)

發(fā)布時(shí)間:2021-06-03 17:15:50 來源:億速云 閱讀:146 作者:Leah 欄目:服務(wù)器

本篇文章為大家展示了nginx高可用集群的實(shí)現(xiàn),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

1、配置:

(1)需要兩臺nginx服務(wù)器 (2)需要keepalived (3)需要虛擬ip

2、配置高可用的準(zhǔn)備工作

(1)需要兩臺服務(wù)器192.168.180.113和192.168.180.112 (2)在兩臺服務(wù)器安裝nginx (3)在兩臺服務(wù)器安裝keepalived

3、在兩臺服務(wù)器安裝keepalived

(1)使用yum命令進(jìn)行安裝

(2)安裝之后,在etc里面生成目錄keepalived,有文件keepalived.conf

[root@topcheer dev]# yum install keepalived -y
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * epel: ftp.riken.jp
 * extras: mirrors.cn99.com
 * updates: mirror.lzu.edu.cn
gitlab_gitlab-ce/x86_64/signature                                         | 836 B 00:00:00
gitlab_gitlab-ce/x86_64/signature                                         | 1.0 kB 00:00:00 !!!
gitlab_gitlab-ce-source/signature                                         | 836 B 00:00:00
gitlab_gitlab-ce-source/signature                                         | 951 B 00:00:00 !!!
正在解決依賴關(guān)系
--> 正在檢查事務(wù)
---> 軟件包 keepalived.x86_64.0.1.3.5-16.el7 將被 安裝
--> 正在處理依賴關(guān)系 libnetsnmpmibs.so.31()(64bit),它被軟件包 keepalived-1.3.5-16.el7.x86_64 需要
--> 正在處理依賴關(guān)系 libnetsnmpagent.so.31()(64bit),它被軟件包 keepalived-1.3.5-16.el7.x86_64 需要
--> 正在檢查事務(wù)
---> 軟件包 net-snmp-agent-libs.x86_64.1.5.7.2-43.el7 將被 安裝
--> 解決依賴關(guān)系完成

依賴關(guān)系解決

==========================================================================================================================================
 Package                 架構(gòu)            版本                源             大小
==========================================================================================================================================
正在安裝:
 keepalived                x86_64           1.3.5-16.el7            base           331 k
為依賴而安裝:
 net-snmp-agent-libs           x86_64           1:5.7.2-43.el7           base           706 k

事務(wù)概要
==========================================================================================================================================
安裝 1 軟件包 (+1 依賴軟件包)

總下載量:1.0 M
安裝大小:3.0 M
Downloading packages:
(1/2): net-snmp-agent-libs-5.7.2-43.el7.x86_64.rpm                                 | 706 kB 00:00:00
(2/2): keepalived-1.3.5-16.el7.x86_64.rpm                                     | 331 kB 00:00:00
------------------------------------------------------------------------------------------------------------------------------------------
總計(jì)                                                   1.8 MB/s | 1.0 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 正在安裝  : 1:net-snmp-agent-libs-5.7.2-43.el7.x86_64                                       1/2
 正在安裝  : keepalived-1.3.5-16.el7.x86_64                                            2/2
 驗(yàn)證中   : keepalived-1.3.5-16.el7.x86_64                                            1/2
 驗(yàn)證中   : 1:net-snmp-agent-libs-5.7.2-43.el7.x86_64                                       2/2

已安裝:
 keepalived.x86_64 0:1.3.5-16.el7

作為依賴被安裝:
 net-snmp-agent-libs.x86_64 1:5.7.2-43.el7

完畢!

4 、修改配置文件

2臺都要換,一個(gè)主機(jī),一個(gè)從機(jī)

[root@topcheer keepalived]# cat keepalived.conf
global_defs {
  notification_email {
  acassen@firewall.loc
  failover@firewall.loc
  sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.180.113
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  vrrp_script chk_http_port {
  script "/usr/local/src/nginx_check.sh"
  interval 2 #(檢測腳本執(zhí)行的間隔)
  weight 2
  }
  vrrp_instance VI_1 {
   state BACKUP # 備份服務(wù)器上將 MASTER 改為 BACKUP
   interface ens33 //網(wǎng)卡
   virtual_router_id 51 # 主、備機(jī)的 virtual_router_id 必須相同
   priority 40 # 主、備機(jī)取不同的優(yōu)先級,主機(jī)值較大,備份機(jī)值較小
   advert_int 1
  authentication {
   auth_type PASS
   auth_pass 1111
  }
  virtual_ipaddress {
  192.168.180.114 // VRRP H 虛擬地址
  }
}

腳本:

[root@topcheer src]# cat nginx_check.sh
#!/bin/bash
A=`ps -C nginx ?Cno-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[root@topcheer src]#

把兩臺服務(wù)器上nginx和keepalived啟動(dòng)

啟動(dòng)nginx:./nginx 由于我112上安裝了gitlab自帶nginx,就不要啟動(dòng)了 啟動(dòng)keepalived:systemctl start keepalived.service

5、測試

nginx高可用集群的實(shí)現(xiàn)

把113的nginx和keepalived關(guān)掉,發(fā)現(xiàn)會切換到112上

nginx高可用集群的實(shí)現(xiàn)

上述內(nèi)容就是nginx高可用集群的實(shí)現(xiàn),你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI