simple directive
- user : 시스템의 어떤 사용자가 NGINX 서버를 동작시킬지 결정 (root로 설정하면 보안에 취약점이 생길수도 있음)
- worker_processes : 몇 개의 thread가 사용될지 정의한다. CPU 코어 수에 맞추는것을 권장하지만, * CPU 코어 수 보다 높은 수를 넣어도 에러가 나지 않는다.
- pid : NGINX 의 pid 정보가 있는 파일
- include : 외부 configuration 내용을 가져온다.
모듈에 따라 다른 파일에 작성하여 include 하는것을 권장한다.
block directive
- simple directive와 구성이 동일하지만 ';' (세미콜론) 대신 추가적인 내용들이 { } 안에 있다.
events { } : 일반적인 connection process를 담당한다.
http { } : http 트래픽을 담당한다.
main { } : 메일 트래픽을 담당한다.
stream { } : TCP / UDP 트래픽을 담당한다.
NGX_HTTP_UPSTREAM_MODULE
proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass 및 grpc_passdirectives에서 참조할 수 있는 서버 그룹을 정의하는 데 사용됩니다.
- upstream
서버 그룹을 정의합니다.
서버는 서로 다른 포트에서 수신 대기할 수 있습니다.
또한 TCP와 UNIX 도메인 소켓에서 수신하는 서버를 혼합할 수 있습니다.
요청은 Default로 가중 라운드 로빈 방식을 사용하여 서버 간에 분산됩니다.