웹의 아키텍처는 대표적으로 3계층 아키텍처를 사용한다.
기본적은 구조는 위의 그림과 같이 클라이언트(브라우저) -> 프론트 -> 백엔드 -> db
구조로 구성된다.
여기서 프론트, 백엔드, db의 서버를 실행하는 컴퓨터를 각각 하나씩 따로 사용할 수 있지만, 사용자의 요청이 많아지면 과부하를 막기 위해 각각 여러 대의 컴퓨터에 서버를 실행한다.
총 2대의 컴퓨터에 nginx
서버를 실행하고 브라우저의 요청을 proxy가 받아 2대의 nginx 서버에 적절하게 요청한다.
Haproxy
총 3개의 ubuntu 가상 머신 환경을 실행한다. 3개의 가상머신은 각각의 역할을 한다.
HAProxy
설치apt install haproxy
listen stats
bind *:9000
mode http
option dontlog-normal
stats enable
stats realm Haproxy\ Statistics
stats uri /stats
간단하게 설명하면 HAProxy를 실행한 서버의 IP 주소:9000/stats
를 브라우저에 입력하면 HAProxy 관리 페이지?로 접속됨
2대의 컴퓨터에 동일하게 진행한다.
nginx
설치apt install nginx
test.html 페이지 생성
touch /var/www/html/test.html
vi
를 사용하여 server01, server02 입력
nginx
실행systemctl restart nginx
브라우저에 HAProxy
를 실행한 컴퓨터의 IP 주소/test.html 입력
새로고침 연타하면 server01, server02가 번갈아 나오는 것을 볼 수 있다.