Nginx 에는 Load Balancing 기능이 있다.
CentOS 8 환경에서 Nginx Load Balancing 기능을 설정해보자.
먼저 Nginx 의 Load Balancing 기법에 대해 알아보자.
[Load Balancing Methods]
Method 는 upstream { } 안에서 적용시킬 수 있다.
Round Robin (Default)
Least Connections : least_conn;
IP Hash : ip_hash;
Generic Hash : hash $request_uri consistent;
Least Time (Nginx+ Only) : least_time header
Random(Nginx+ ) : random two least_time=last_byte;
해당 글에서는 기본설정인 Round Robin 방식으로 예제를 진행합니다.
Load Balancing 기능은 기본적으로 upstream 에 등록 후 사용합니다.
http {
upstream backend {
[method];
server backend1.example.com;
server backend2.example.com;
server 192.0.0.1 backup;
}
server {
location / {
proxy_pass http://backend;
}
}
}
저번 포스팅에서 ssl 설정을 마쳤기 때문에 ssl 설정에서 Load Balancing 설정을 잡아줍시다.
저는 flask 를 5000, 5001 번으로 실행 후 Load Balancing 을 테스트 해보겠습니다.
위에서 등록한 upstream 은 server 의 location 에서 사용.
변경된 설정을 저장해주시고.
Nginx 에 적용시켜줍시다.
$ sudo systemctl restart nginx
사용중인 서버라면 중단없이 적용되어야 겠죠?
$ service nginx reload
확인해봅시다.
flask 를 두개 띄워줬구요.
접속시 app1 page 가 뜨고.
재접속 시 app2 page 가 뜨는걸 확인할 수 있습니다.
flask 로그에서도 확인!
삽질을 끝내고 정리해보니 간단하네요.
'Linux > nginx' 카테고리의 다른 글
nginx 에 vue 연동하기 (403 Error 해결) (0) | 2021.01.18 |
---|---|
CentOS 8 Docker 로 Nginx 설치하기 (0) | 2020.04.14 |
CentOS 8 Nginx Openssl 설정하기 (https) (0) | 2020.04.02 |
CentOS 8 Nginx Flask 연동 (GET, POST) (0) | 2020.03.24 |
CentOS 8 Nginx Reverse Proxy Config (0) | 2020.03.24 |
최근댓글