반응형
안녕하세요 코딩하는헬린이 입니다.
오늘은 제목과 같이 nginx로 로드밸런싱 처리 하는법에 대하여 알아보겠습니다.
환경은 ubuntu18, nginx 가 설치 되어있다는 가정하 진행하겠습니다.
1.upstream 이란 ?
분산처리 기능을 한다고 보시면 됩니다.
2. 왜 써야하나 ?
과도한 트래픽 방어 또는 한서버에 여러개의 플랫폼을 (테스트서버) 설정시 port 로 구분하여 지정하는 방법 등 있습니다.
# 설정
cd /etc/nginx/sites-enabled/
들어가보면 vim, vi 로 파일하나가 있는걸 수정하세요
upstream test_proxy { #test_proxy upstream name 이다 변경하여 사용하면 됩니다.
#least_conn; 연결이 가장 작은 서버로 요청할시 설정
#least_time header; 평균 레이턴시와 연결을 기준으로 검사해서 로드가 적은 서버로 요청을 보낸다
server web-01;
server web-02;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name proxy_test.com
index index.html index.htm index.nginx-debian.html;
location / {
proxy_pass http://test_proxy; #upstream name 기입하면 됩니다.
}
}
한서버에서 upstream 여러개를 사용하는 경우엔 아래와 같이 분산처리를 하면됩니다.
upstream test_proxy1 { #test_proxy upstream name 이다 변경하여 사용하면 됩니다.
server web-01:3000; #port 3000번 일때
}
upstream test_proxy2 { #test_proxy upstream name 이다 변경하여 사용하면 됩니다.
server web-01:3001; #port 3001번 일때
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name proxy_test1.com
index index.html index.htm index.nginx-debian.html;
location / {
proxy_pass http://test_proxy1; #upstream name 기입하면 됩니다.
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name proxy_test2.com
index index.html index.htm index.nginx-debian.html;
location / {
proxy_pass http://test_proxy2; #upstream name 기입하면 됩니다.
}
}
이렇게 설정해주시면 됩니다.
nginx를 통하여 ssl 설정 하는 방법이 있지만 나중에 알아보도록 하겠습니다.
감사합니다.
반응형
'개발 > Linux' 카테고리의 다른 글
[Linux] Let's Encrypt 사용하여 SSL 발급 (0) | 2021.06.21 |
---|