반응형
/etc/nginx/
기본 설정파일들이 저장되는 루트 디렉토리이다.
/etc/nginx/nginx.conf
최상위 설정파일로 모든 설정에 대한 진입점이다.
최상위 http
블록을 가진다.
/etc/nginx/conf.d/
*.conf 파일을 별도로 관리하기 위한 디렉토리이다.
nginx.conf파일에서 http
블록안에 include된다.
예전에는 conf.d 디렉토리 대신 sites-enabled, sites-available 디렉토리가 사용되었지만 더이상 사용되지 않는다.
NGINX 로드밸런싱
upstream: 로드밸런서나 프록시 서버 뒤에 위치한 실제 서버
L7 로드밸런싱
nginx.conf파일에서 http 블록안에서 설정한다.
HTTP 부하분산
upstream backend {
server app1.example.com:80 weight=1;
server app2.example.com:80 weight=2;
server spare.example.com:80 backup;
}
server {
location / {
proxy_pass htp://backend;
}
}
- weight: 트래픽을 받을 가중치를 지정한다. 미지정시 기본값 1적용.
- backup: 주서버에 접속하지 못할 때 접속하기 위한 백업서버로 지정한다.
80포트를 사용하는 app1.example.com, app2.example.com을 주 서버로 지정하고 app2.example.com은 app1.example.com서버 보다 두배 더 많은 요청을 처리하도록 한다. 주 서버에 문제가 발생해 접속하지 못할 경우 spare.example.com 서버를 백업서버로 사용하도록 한다.
L4 로드밸런싱
nginx.conf파일에서 stream 블록안에서 설정한다. nginx에서 별도의 설정을 하지 않았다면 stream블록이 없기 때문에 nginx.conf파일에서 stream블록을 추가하고 stream.conf.d 디렉토리를 생성하여 사용하는 것이 좋다.
TCP 부하분산
stream {
upstream ntp {
server app1.example.com:123;
server app2.example.com:123 weight=2;
server spare.example.com:123 backup;
}
server {
listen 123 udp;
proxy_pass ntp;
}
}
- udp : listen지시자에 udp 옵션을 추가하면 udp 부하분산을 적용할 수 있다. 부하분산이 적용된 상태에서 클라이언트와 서버가 여러 번 패킷을 주고 받아야 한다면 reuseport 옵션을 추가한다.
UDP 부하분산
stream {
upstream db_server {
server app1.example.com:5432;
server app2.example.com:5432 weight=2;
server spare.example.com:5432 backup;
}
server {
listen 5432;
proxy_pass db_server;
}
}
```
L7 로드밸런싱과 L4 로드밸런싱 차이
기능 | L7 로드밸런싱 | L4 로드밸런싱 |
---|---|---|
사용블록 | upstream, server | stream, upstream, server |
트래픽분산기준 | HTTP 헤더 정보 | IP, Port |
반응형
'운영체제 > Linux' 카테고리의 다른 글
하드링크와 심볼릭 링크 비교 (0) | 2024.01.23 |
---|---|
라즈비안에 도커와 도커 컴포즈 설치하기 (0) | 2021.07.02 |
리눅스에서 C# 프로그램 실행하기 (0) | 2020.03.03 |
라즈베리파이3 스크린 회전 (0) | 2020.03.03 |
라즈베리파이3 원격제어 & 한글 폰트 설치하기 (0) | 2020.03.03 |