반응형
1. Upstream Block
Upstream은 서버들의 묶음이다.
upstream backend {
    server 111.111.111:8000 weight=5;
    server 111.111.112:8000;
    server 111.111.113:8000;
}
위의 예시에서는 3개의 서버간에 load balancing이 되며 weight를 명시하게 되면 해당 서버에 더 많은 load를 배분할 수 있다. 위의 예시에서는 111.111.111서버가 다른 2서버에 비해 5배 많은 load를 할당받는다.

configuration 파일에서 server블럭에서는 ip주소로 호출하는 것이 아니라 upstream의 이름으로 호출한다. (예시에서 backend)

2. Server Block
Server Block은 하나의 가상 서버를 나타낸다. 따라서 여러개의 server block을 생성하게 되면 하나의 머신에서 여러개의 어플리케이션을 호스팅할 수 있다.

Nginx가 라우팅을 할때는 최우선 적으로 listen 옵션을 본다. listen 옵션은
    - address:port 숫자
    - ip주소 (포트80만 처리)
    - port 숫자 (해당 포트로 들어오는 모든 인터페이스)
    - unix socket 경로

Nginx는 오직 같은수준으로 명시된 listen이 여러개 있을 때만 server_name을 사용하여 비교한다.
server {
    listen 192.168.1.10;
    . . .
}
server {
    listen 80;
    server_name example.com;
    . . .
}
위의 예시에서 만약 example.com이 192.168.1.10의 80번 포트에 호스팅 되어 있다면, 항상 첫번째 블럭이 호출된다(Nginx는 불완전한 ip주소를 자동으로 채우므로 192.168.1.10:80으로 변환된다)








반응형
블로그 이미지

개발자_무형

,