IT/web, hosting

nginx로 로드밸런싱 설정하기

seyeonHello 2023. 12. 13. 15:23

nodejs에서 클러스터 모듈을 사용하면 싱글 프로세스로 동작하는 노드를 cpu 코어 모두 사용할 수 있도록 구현할 수 있습니다. 이를 활용하여 자신의 CPU 코어 수를 고려하여 서버를 몇 개 띄울 수 있을지 결정할 수 있습니다.

그렇다면 여러 개의 서버를 띄었을  경우, 도메인 하나에 어떻게 매핑할 수 있을까요? 바로 nginx를 이용하여 로드밸런싱을 설정할 수 있습니다.



nginx 로드밸런싱 설정 방법

#http블럭 내부에 추가
    #NodeJS 서버 로드밸런싱
    upstream nodejs_server {
        #least_conn;
        #ip_hash;
        server localhost:3000;
        server localhost:3001;
    }

    #3333번 포트 NodeJS 서버로 연결
    server{
        listen                3333;
        server_name  localhost;

        location / {
            proxy_pass http://nodejs_server; #upstream으로 설정한 nodejs_server로 요청을 보낸다
        }
    }

3000, 3001서버를 띄우고 3333번 포트로 요청을 보내면, '라운드 로빈' 형태로 2개의 서버에 로드 밸런싱됩니다. 서비스의 요구사항에 따라 옵션을 추가해야할 필요가 있습니다.

 


https://labs.brandi.co.kr/2018/05/25/kangww.html

 

Docker, NodeJS, Nginx! 너로 정했다!

편집자 주아래와 같이 용어를 표기하기로 저자와 협의함Docker, NodeJS, Nginx

labs.brandi.co.kr

'IT > web, hosting' 카테고리의 다른 글

AWS EC2에서 RDS 연동후 Flask 적용  (0) 2020.02.22
AWS EC2에서 Flask 실행  (0) 2020.02.11
pythonanywhere flask 배포하기  (2) 2020.02.10