haproxy 실험

3195 단어

실험 목적:


클라이언트가 vip에 접근한 다음에 두 대의 스케줄러가 어느 우선순위가 높고 어느 대가 vip를 얻고haproxy를 통해 에이전트 서비스를 제공하며 스케줄러 알고리즘을 통해 백엔드의 노드를 찾습니다.

실험 환경:


클라이언트 1대,haproxy 서버 2대,varnish 서버 1대,lamp 호스트 2개,nfs 서버 1대

실험 과정:


1. nfs 서버yum-y install nfs-utilsvim/etc/exports에 다음과 같은 내용을 추가/usr/share/wordpress/172.16.200.103(rw, no_root_squash) 172.16.200.104(rw, no_root_squash) #no_root_squash는 압축되지 않은 권한을 표시합니다. 로컬에서 사용할 때 권한은 루트입니다. 이 항목을 쓰지 않으면 로컬에서 파일을 만들 수 없습니다.서비스 rpcbind start 서비스 nfs start exportfs-v#검측 공유 성공 후 wordpress 설치 패키지를 다운로드하여/usr/share/아래로 압축을 풀기 2.두 노드 서버에lamp 환경을 배치합니다. (1) php와 httpd 설정
yum -y install httpd php mysql-server php-mysql
vim /var/www/html/index.php


브라우저로 액세스http://172.16.200.103/index.phpphp 페이지가 나타나면 php와 httpd가 설치되었음을 증명합니다 (2) nfs 파일 시스템을 마운트합니다.
yum -y install nfs-utils
mkdir /var/www/html/wordpress/
mount 172.16.200.105:/usr/share/wordpress /var/www/html/wordpress/

(3) 그리고 mysql 설정
systemctl start mariadb
mysql_secure_installation     # mysql , root , 
mysql -u root -p    # mysql
mysql> create database wordpress;    # 
mysql> grant all on wordpress.* to worduser@'172.16.%.%' identified by '123';    # 

(4) 테스트가 끝난 후 172.16.200.103/wordpress에 방문하여 wordpress 설정 페이지가 나타나면 데이터베이스에 생성된 라이브러리 이름과 사용자 이름 비밀번호를 입력하고 IP 주소는 현재lamp 서버의 IP로 기입합니다.다음 단계에서 프로필을 만들라는 메시지가 표시됩니다. wordpress 디렉터리에 이 파일을 만들고 내용을 붙여넣습니다.
cd/var/www/html/wordpress/vim wp-config.php는 웹 페이지에서 제시한 파일 내용을 붙여넣으면 됩니다. 여기는 파일 내용을 표시하지 않고 제목을 입력하고 웹 사이트 사용자 이름과 비밀번호를 입력하면 wordpress에 들어갑니다.두 개의 스케줄러에haproxy 서비스를 설치하고 파일을 설정합니다.yum -y install haproxy vim/etc/haproxy/haproxy.cfg #frontendmain 찾기*: 5000줄, 이 줄과 그 후의 내용을 모두 삭제하고 다음 내용을 정의합니다
frontend web    
        bind *:80
        default_backend     websrvs

backend websrvs
                balance roundrobin
                server srv1 172.16.200.103:80 check
                server srv2 172.16.200.104:80 check

그리고haproxy를 다시 시작하고 테스트4.keepalived를 배치하여 두 개의 스케줄러에keepalived를 설치한 다음, 이것은 첫 번째 설정입니다.
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
    test.test.io
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id node1
   vrrp_mcast_group4 224.16.120.18
}

vrrp_script chk_haproxy {
    script "killall -o haproxy"
    interval 2
    weight -10
    fall 2
    rise 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 16
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.16.200.100
    }
    track_script {
    chk_proxy
    }
}

이것은 두 번째 데스크톱의 설정이다
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 16
    priority 95
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.16.200.100
    }
    track_script {
    chk_proxy
    }
}

좋은 웹페이지 즐겨찾기