1. 로드 밸런싱
서버의 단위 시간당 방문 횟수가 증가하면 서버에 가해지는 부담도 커집니다. 서버에 가해지는 압력이 용량을 초과하면 서버가 충돌합니다. 서버 충돌을 방지하고 사용자에게 더 나은 경험을 제공하기 위해 일반적으로 로드 밸런싱을 사용하여 서버에 대한 부담을 공유합니다.
그렇다면 로드 밸런싱이란 무엇일까요? 우리는 많은 서버를 구축하고 이러한 서버를 서버 클러스터로 구성합니다. 그런 다음 사용자가 웹 사이트를 방문하면 먼저 중간 서버에 액세스한 다음 중간 서버가 서버 클러스터에서 부담이 적은 서버를 선택하게 한 다음 액세스합니다. 요청은 선택한 서버로 전달됩니다.
이러한 방식으로 사용자가 방문할 때마다 서버 클러스터에 있는 각 서버의 압력이 균형을 이루고 서버 압력을 공유하고 서버 충돌을 방지할 수 있습니다. 로드 밸런싱은 역방향 프록시 개념을 사용합니다.
2. Nginx에서 로드 밸런싱 구현
Nginx는 역방향 프록시를 통해 로드 밸런싱을 달성할 수 있는 서버입니다. 로드 밸런싱을 위해 Nginx 서비스를 사용할 때 사용자 액세스는 먼저 Nginx 서버에 액세스한 다음 Nginx에 액세스하게 됩니다. 그런 다음 서버는 서버 클러스터 테이블에서 부담이 적은 서버를 선택한 다음 해당 서버에 액세스 요청을 보냅니다. 서버 클러스터의 서버가 충돌하면 해당 서버는 후보 서버 목록에서 삭제됩니다. 즉, 서버가 충돌하면 Nginx는 서버에 액세스 요청을 절대 도입하지 않습니다.
1. fzjh.conf 구성 파일을 생성합니다.
/usr/local/nginx/conf 아래에 fzjh.conf 파일을 생성합니다.
user nobody; worker_processes 2; events { worker_connections 1024; } http{ #=upstream设置负载均衡的待选服务器列表,在运行中如果有服务器崩溃那该服务器就会在该列表中移除 upstream mypro{ server 219.133.55.36;#中国万维网 server 115.239.210.27;#百度的ip } server{ listen 8080; #====== 对ngnix更目录做负载均衡=== location / { #==选择要代理的服务器要与upstream对应========== proxy_pass http://mypro; } } }
2. file
실행 명령:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/fzjh.conf
3. 테스트에 성공했나요?
여기서 우리의 로드 밸런싱 후보 서버 목록은 Baidu와 China World Wide Web이므로 호스트 이름 +8080에 액세스하여 테스트할 수 있습니다. 페이지가 Baidu에 있는 경우 China World Wide Web으로 전환하면 성공을 의미합니다.
이 기사는 Nginx 튜토리얼 칼럼에서 발췌한 것입니다: http://www.php.cn/nginx/
위 내용은 nginx에서 로드 밸런싱을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!