NGINX Plus

런타임 시 NGINX 프로세스 제어

트래픽을 처리하는 NGINX 프로세스와 런타임에 트래픽을 제어하는 방법을 이해합니다.

이 섹션에서는 NGINX가 런타임에 시작하는 프로세스와 이를 제어하는 방법에 대해 설명합니다.

목차

1. Master 및 Worker 프로세스
2. NGINX 제어

1. Master 및 Worker 프로세스

NGINX에는 하나의 Master 프로세스와 하나 이상의 Worker 프로세스가 있습니다. 캐싱이 활성화된 경우 캐시 로더 및 캐시 관리자 프로세스도 시작 시 실행됩니다.

Master 프로세스의 주요 목적은 구성 파일을 읽고 평가할 뿐만 아니라 Worker 프로세스를 유지 관리하는 것입니다.

Worker 프로세스는 요청의 실제 처리를 수행합니다. NGINX는 Worker 프로세스 간에 요청을 효율적으로 분배하기 위해 OS 종속 메커니즘에 의존합니다. Worker 프로세스의 수는 nginx.conf 구성 파일의 worker_processes 지시문에 의해 정의되며, 고정된 수로 설정하거나 사용 가능한 CPU 코어 수에 따라 자동으로 조정되도록 구성할 수 있습니다.

2. NGINX 제어

구성을 Reload하려면 NGINX를 중지하거나 다시 시작하거나 Master 프로세스에 시그널을 보낼 수 있습니다. -s 인수를 사용하여 nginx 명령을 실행하여 시그널을 전송할 수 있습니다.

nginx -s <SIGNAL>

여기서 <SIGNAL>은 다음 중 하나일 수 있습니다.

  • quit – 정상적으로 종료(SIGQUIT 신호)
  • reload – 구성 파일 Reload(SIGHUP 신호)
  • reopen – 로그 파일 다시 열기(SIGUSR1 신호)
  • stop – 즉시 종료(또는 빠른 종료, SIGTERM 신호)

kill 유틸리티를 사용하여 Master 프로세스에 직접 시그널을 보낼 수도 있습니다. Master 프로세스의 프로세스 ID는 기본적으로 /usr/local/nginx/logs 또는 /var/run 디렉터리에 있는 nginx.pid 파일에 기록됩니다.