Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

王林
王林ke hadapan
2023-05-29 14:16:061537semak imbas

1. Persekitaran sistem dan versi perisian

centos 6.6 x64
keepalived-1.2.18.tar.gz
nginx-1.6.2.tar.gz

Pelayan induk: 192.168.38.64

Pelayan hamba: 192.168.38.66

vip:192.168.38.100

pemasangan hamba) Pemasangan yang konsisten)

1 Pasang persekitaran bergantung

Salin kod Kodnya adalah seperti berikut:

yum install gcc gcc -c++ buat automake autoconf libtool pcre pcre-devel zlib zlib-developenssl openssl-devel

2.Muat naik nginx ke direktori opt

3. Nyahzip dan pasang

  # 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 Ubah suai port mendengar nginx dan index.html

# vi /opt/nginx/conf/nginx.conf

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

vi /opt/nginx/html/index.html

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

5 🎜>Ujian konfigurasi: /opt/nginx/sbin/nginx -t Antara muka berikut muncul, menunjukkan bahawa konfigurasi OK

Mula: /opt/nginx /sbin/nginxnginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

Mulakan semula: /opt/nginx/sbin/nginx -s muat semula

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

6. But dan mulakan nginx

vi /etc/rc.local

Tambah: /opt/nginx/sbin/nginx

7 . Ubah suai port terbuka firewall

vi /etc/sysconfig/iptables

Tambah: -a input -p tcp -m state --state new -m tcp --dport 8888 - j terima

Mulakan semula tembok api:

servis iptables dimulakan semula

8 Masalah

Masalah yang dihadapi semasa memulakan nginx.

vi / etc/ld.so.confnginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

Tambah: /opt/nginx/lib/

9.nginx load balancing

imbangan beban nginx Terutamanya dilakukan oleh modul huluan

Ubah suai fail konfigurasi nginx

vi /data/nginx/conf/nginx.conf

Tambah kandungan berikut: (nama web_pools Variable)

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

Konfigurasikan proxy_pass dalam nod lokasi di bawah nod pelayan sebagai: http:// + nama huluan

Hasilnya adalah sebagai berikut:

Di mana berat ialah berat dan sandaran ialah pelayan sandaran Pelayan sandaran akan bermula hanya apabila pelayan lain sedang down. nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

3. Pemasangan Keepalived

1.keepalived dimuat naik ke direktori opt

2. Buka zip dan pasang

rreee

3. Pasang keepalived sebagai perkhidmatan linux

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

4 Tetapkan perkhidmatan keepalived untuk bermula pada but

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. Ubah suai fail konfigurasi keepalived

vi /etc/keepalived/ keepalived.conf

chkconfig keepalived on

6 Tulis skrip pengesanan status nginx


vi /etc/keepalived/nginx_check.sh

Kandungannya adalah sebagai berikut:

  ! 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,继续换行填写
    }
  } 

Selepas menyimpan, berikan kebenaran pelaksanaan kepada skrip:

7 Nota: Fail konfigurasi master-slave Keepalived adalah berbeza

chmod +x/etc/keepalived/nginx_check.sh a.router_id ialah. tidak konsisten

b.nyatakan Pelayan utama ialah induk, dan pelayan hamba adalah sandaran

 c.keutamaan Pelayan induk lebih besar daripada pelayan hamba

8.perintah kekal

Mula: servicekeepalived start

Stop : servicekeepalived stop

Restart: servicekeepalived restart

9 tidak diikat dengan jayanya

Penyelesaian: ip addr Lihat setempat Nama kad rangkaian tempat ip berada, dan kemudian ubah suai fail konfigurasi

vi /etc/keepalived/keepalived.conf

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

Simpan Selepas servicekeepalived dimulakan semula, mulakan semula perkhidmatan keepalived

10 -slave nginx dan keepalived services

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggiMasing-masing pelayan master-slave: ip add | grep 192.168.38.100

boleh dilihat di 192.168.38.64

dan pada masa yang sama pada 192.168.38.66

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi apabila membunuh master Keepalived pada pelayan akan mengakibatkan pelayan hamba

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi Apabila keepalived pada pelayan induk dimulakan semula, akan ada keputusan pada pelayan induk tetapi tiada hasil pada pelayan hamba.

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

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

解决方案:防火墙问题

iptables-iinput4-pvrrp-jaccept  

service iptables save

service iptables restart

nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi

Atas ialah kandungan terperinci nginx+keepalived kaedah konfigurasi tuan-hamba ketersediaan tinggi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam