Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Nginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode

Nginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode

王林
王林nach vorne
2023-05-29 14:16:061536Durchsuche

1. 38.66

vip:192.168.38.100



2. Nginx-Installation (Master-Slave-Installation ist konsistent)

1. Abhängige Umgebung installieren

Code kopieren Der Code lautet wie folgt:

yum gcc gcc installieren c++ make automake autoconf libtool pcre pcre-devel zlib zlib-developenssl openssl-devel

2.Nginx in das Opt-Verzeichnis hochladen

3. Entpacken und installieren

  # tar -zxvf nginx-1.6.2.tar.gz

  # cd nginx-1.6.2
  # ./configure --prefix=/opt/nginx (prefix=/opt/nginx 这个指定的是 nginx目录)
  # make && make install
4. Ändern Sie den Nginx-Listening-Port und index.html# vi / opt/nginx/conf/nginx.conf

vi /opt/nginx/html/index.html

5. Nginx-Start und allgemeine BefehleNginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode

Konfiguration Test: /opt/nginx/sbin /nginx -t Die folgende Schnittstelle wird angezeigt und zeigt an, dass die Konfiguration in Ordnung ist

Nginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode

Start: /opt/nginx/sbin/nginxNeustart: /opt/nginx/sbin/nginx -s reload

Stop: /opt/nginx/ sbin/nginx -s stop

Nginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode6. Hochfahren und nginx starten

vi /etc/rc.local

Join: /opt/nginx/sbin/nginx

7. Ändern Sie den offenen Port der Firewall Firewall neu starten: service iptables restart

8. Frage

Probleme beim Starten von nginx

vi /etc/ld.so.conf

Hinzufügen: /opt/nginx/lib/

9 .nginx-Lastausgleich

Der Nginx-Lastausgleich wird hauptsächlich durch das Upstream-Modul abgeschlossenÄndern Sie die Nginx-Konfigurationsdatei

vi /data/nginx/conf/nginx.conf

Fügen Sie den folgenden Inhalt hinzu: (Der Name von web_pools lautet Variable)Nginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode

  upstream web_pools { 
  server 10.0.6.108:7080weight=1;
   server 10.0.0.85:8980weight=1;
  }

Fügen Sie den Standortknoten unter dem Serverknoten hinzu. Die Proxy_Pass-Konfiguration lautet: http:// + Upstream-Name. Das Ergebnis ist wie folgt:

wobei Gewicht das Gewicht und Backup der Sicherungsserver ist Der Sicherungsserver startet nur, wenn andere Server ausgefallen sind.

3. Keepalived-Installation

1. Keepalived in das Opt-Verzeichnis hochladen

2. Keepalived als Linux-Dienst installieren

  tar -zxvf keepalived-1.2.18.tar.gz
  cd keepalived-1.2.18
  ./configure --prefix=/opt/keepalived
  make && make install

4

cp /opt/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
  cp /opt/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  ln -s /opt/sbin/keepalived /usr/sbin/
  ln -s /opt/keepalived/sbin/keepalived /sbin/

5 .

Ändern Sie die Keepalived-Konfigurationsdatei

vi /etc/keepalived/keepalived.confNginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode

chkconfig keepalived on

6. Schreiben Sie ein Nginx-Statuserkennungsskript

vi /etc/keepalived/nginx_check.shDer Inhalt ist wie folgt:

  ! 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 192.168.200.1
  smtp_connect_timeout 30
  router_id lvs_01 #这个配置要唯一
  } 

  vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh" ## 检测 nginx 状态的脚本路径
    interval 2 ## 检测时间间隔
    weight -20 ## 如果条件成立,权重-20
  } 

  vrrp_instance vi_1 { #实例 vi_1 名字可以随意 但是不建议修改
    state master # 主服务器master 从服务器 backup
    interface em1 # em1 网卡
    virtual_router_id 51 #virtual_router_id 主备要一致
    priority 100   # 优先级 数字越大 优先级越高 priority 的值 主服务器要大于 从服务器
    advert_int 1  #设定master与backup负载均衡器之间同步检查的时间间隔,单位是秒
    authentication { # 主从通信 验证类型及密码 
      auth_type pass  #设置vrrp验证类型,主要有pass和ah两种
      auth_pass 1111  #设置vrrp验证密码,在同一个vrrp_instance下,master与backup必须使用相同的密码才能正常通信
    } 

    ## 将 track_script 块加入 instance 配置块
    track_script {
      chk_nginx ## 执行 nginx 监控的服务
    }

    virtual_ipaddress {
    192.168.38.100/24 #vrrp ha 虚拟地址 如果有多个vip,继续换行填写
    }
  } 

Erteilen Sie nach dem Speichern Ausführungsberechtigungen für das Skript:

7. Hinweis: Die Keepalived-Master-Slave-Konfigurationsdateien sind unterschiedlich

 a.router_id ist inkonsistent

 b.state Der Hauptserver ist Master, und der Slave-Server ist ein Backup Problem

a.vip ist nicht erfolgreich gebunden

Lösung: IP-Adresse lokal anzeigen Der Name der Netzwerkkarte, auf der sich die IP befindet, und dann die Konfigurationsdatei ändern


vi /etc/keepalived/keepalived.conf

Nach dem Speichern kann der Servicekeepalived-Neustart den Keepalived-Dienst neu startenchmod +x/etc/keepalived/nginx_check.sh

10 am 192.168.38.64

beim Beenden des Master-Servers Das Keepalived stammt vom Server

Wenn Sie Keepalived auf dem Master-Server erneut starten, werden auf dem Master-Server Ergebnisse angezeigt, auf dem Slave-Server jedoch keine Ergebnisse.

当杀死 nginx后,keepalived则会自动启动 nginx服务

11. keepalived脑裂 (ip add | grep 192.168.38.100 在主从都有结果)

解决方案:防火墙问题

iptables-iinput4-pvrrp-jaccept  

service iptables save

service iptables restart

Nginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode

Das obige ist der detaillierte Inhalt vonNginx + Keepalived Hochverfügbarkeits-Master-Slave-Konfigurationsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen