>  기사  >  운영 및 유지보수  >  nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

王林
王林앞으로
2023-05-29 14:16:061479검색

1. 시스템 환경 및 소프트웨어 버전

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

마스터 서버: 192.168.38.64

슬레이브 서버: 192.168. 38.66

vip:192.168.38.100

2.nginx 설치(마스터-슬레이브 설치는 동일)

1. 종속 환경 설치

코드는 다음과 같습니다.

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

2.opt 디렉터리에 nginx를 업로드하세요

3. 압축을 풀고 설치하세요

  # 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. index.html

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

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

vi /opt/nginx/html/index.html

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

5.nginx 시작 및 일반 명령

구성 테스트: /opt/nginx/sbin /nginx -t 구성이 정상임을 나타내는 다음 인터페이스가 나타납니다

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

시작: /opt/nginx/sbin/nginx

다시 시작: /opt/nginx/sbin/nginx -s reload

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

6. nginx를 부팅하고 시작하세요

vi /etc/rc.local

Join: /opt/nginx/sbin/nginx

7. 방화벽 개방 포트 수정

vi / etc/sysconfig/iptables

추가: -a input -p tcp -m state --state new -m tcp --dport 8888 -j accept

방화벽 다시 시작: service iptables restart

8. 질문

nginx

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

vi /etc/ld.so.conf

추가: /opt/nginx/lib/

9 .nginx 로드 밸런싱

nginx 로드 밸런싱은 주로 업스트림 모듈에 의해 완료됩니다

nginx 구성 파일을 수정하세요

vi /data/nginx/conf/nginx.conf

다음 내용을 추가하세요: (web_pools의 이름은 변수)

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

서버 노드 아래에 위치 노드를 추가합니다. Proxy_pass 구성은 http:// + 업스트림 이름입니다. 결과는 다음과 같습니다.

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법 여기서 가중치는 가중치이고 백업은 백업 서버입니다. 백업 서버는 다른 서버가 다운된 경우에만 시작됩니다.

3. Keepalived 설치

1. opt 디렉터리에 keepalived를 업로드하세요.

2.

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

3. 부팅 시 keepalived 서비스를 시작하도록 설정하세요.

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 .

keepalived 구성 파일 수정

vi /etc/keepalived/keepalived.conf

chkconfig keepalived on

6 nginx 상태 감지 스크립트 작성


vi /etc/keepalived/nginx_check.sh

내용은 다음과 같습니다.

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

저장 후 스크립트에 실행 권한을 부여합니다:

7. 참고: keepalived 마스터-슬레이브 구성 파일이 다릅니다

chmod +x/etc/keepalived/nginx_check.sh a.router_id가 일치하지 않습니다

 b.state 메인 서버가 마스터이고, 슬레이브 서버는 백업

 c.priority 마스터 서버는 슬레이브 서버보다 큽니다

8.keepalived 명령

시작: servicekeepalived start

중지: servicekeepalived stop

다시 시작: servicekeepalived restart

9에 유의하세요. 문제

a.vip가 성공적으로 바인딩되지 않았습니다

해결 방법: ip addr 로컬 보기 해당 IP가 있는 네트워크 카드 이름을 확인한 다음 구성 파일을 수정하세요

vi /etc/keepalived/keepalived.conf

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

저장 후 servicekeepalived 재시작은 keepalived 서비스를 다시 시작할 수 있습니다

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법10. 테스트

마스터-슬레이브 nginx 및 keepalived 서비스를 시작하세요

마스터 및 슬레이브 서버 각각: ip add | grep 192.168.38.100

볼 수 있습니다. on 192.168.38.64

마스터 서버를 종료하는 동안 Keepalived는 Server

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

마스터 서버에서 다시 Keepalived를 시작하면 마스터 서버에는 결과가 있지만 슬레이브 서버에는 결과가 없습니다.

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

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

解决方案:防火墙问题

iptables-iinput4-pvrrp-jaccept  

service iptables save

service iptables restart

nginx+keepalived 고가용성 마스터-슬레이브 구성 방법

위 내용은 nginx+keepalived 고가용성 마스터-슬레이브 구성 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제