haproxy 실험
실험 목적:
클라이언트가 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
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.