NGINX에서 사용할 수 있는 Signal
Nginx 는 성능과 안정성을 모두 갖춘 웹 서버로, 다양한 환경에서 폭넓게 사용되고 있습니다. 일반적으로는 설정 파일을 작성하고 서버를 실행하는 수준에서 그치기 쉽지만, 실제 운영 환경에서는 보다 세밀한 제어가 필요할 때가 많습니다. 설정을 변경한 뒤 무중단으로 반영하거나, 로그 파일을 손쉽게 교체하고, 서버를 점진적으로 재시작해야 하는 경우가 대표적입니다.
Nginx는 Signal (시그널)이라는 강력한 수단을 제공합니다. 시그널은 운영체제가 프로세스에 전달하는 일종의 제어 메시지로, Nginx는 이를 통해 실행 중인 프로세스의 동작을 유연하게 관리할 수 있습니다.
목차
1. NGINX Signal의 중요성
2. NGINX Signal
3. Advanced NGINX Signal
4. 결론
1. NGINX Signal의 중요성
NGINX는 고성능의 이벤트 기반 웹 서버로서, 설정 변경, 로그 로테이션, 프로세스 제어 등의 다양한 작업을 신속하고 안전하게 처리할 수 있도록 Signal 메커니즘을 지원합니다. 이 Signal은 운영 중인 NGINX 인스턴스를 재시작하지 않고도 여러 관리 작업을 수행할 수 있게 해주므로 운영 안정성과 가용성 측면에서 매우 중요합니다.
2. NGINX Signal
NGINX는 시그널(signal) 을 통해 현재 실행 중인 프로세스에 명령을 보냅니다.
리눅스 시스템에서 signal은 프로세스에게 무언가 행동을 요청할 때 사용하는 표준적인 방법입니다.
NGINX Master Process 에서 사용할 수 있는 NGINX 명령어 Signal은 4가지를 가지고 있습니다.
nginx -s [Signal]
- stop
nginx -s stop
NGINX를 즉시 종료합니다.

- quit
nginx -s quit
NGINX를 처리 중인 요청을 마무리 한 뒤 종료합니다.

- reopen
nginx -s reopen
로그파일을 다시열어 작성합니다.

- reload
nginx -s reload
구성파일을 다시 불러옵니다. (중단 없이 불러옴)



3. Advanced NGINX Signal
NGINX 명령어가 아닌 Kill 명령어를 사용하여 Unix 계열 운영체제에서 Signal을 전달할 수 있습니다.
Master Process는 다음과 같은 Signal을 지원하고있습니다.
- TERM, INT
NGINX를 즉시 종료합니다.
kill [-TERM | -INT] [NGINX Process ID]


- QUIT
NGINX를 처리 중인 요청을 마무리 한 뒤 종료합니다.
kill -QUIT [NGINX Process ID]

- HUP
NGINX의 Worker Process를 처리 중인 요청을 마무리한 뒤 새롭게 Worker Process를 시작합니다.
kill -HUP [NGINX Process ID]

- USR1

- USR2
NGINX의 무중단 구성 파일 업그레이드를 위한 Signal 입니다.
롤백용(old) Process와 새로운(new) Process 두가지의 Master, Worker Process가 나오게 됩니다.

- WINCH
PID의 Worker Process에 처리 중인 요청을 마무리 한 뒤 종료합니다.
(USR2의 무중단 구성 파일 업그레이드를 진행 한 후 old Process를 제거하기 위해 사용됩니다.)

Worker Process에서 사용할 수 있는 Signal는 아래와 같습니다.
명령문은 Master Process 명령문과 같습니다.
- TERM, INT
- QUIT
- USR1
- WINCH
4. 결론
NGINX는 단순한 웹 서버를 넘어, 고도화된 운영 환경에서도 유연하고 안정적으로 동작할 수 있는 다양한 Signal을 지원합니다. 이를 통해 무중단 설정 변경, 로그 관리, 점진적 재시작 등 실제 서비스 운영에 필요한 세밀한 제어가 가능합니다. 특히 nginx -s 명령어와 kill 명령어를 적절히 조합하면, 운영 중인 시스템의 가용성과 안정성을 유지하면서도 효과적인 서버 관리를 실현할 수 있습니다. Signal의 개념과 용도를 정확히 이해하고 활용하는 것은 NGINX 운영의 핵심이라 할 수 있습니다.
NGINX에 관련된 더 많은 정보를 알고싶으시다면 NGINX STORE NGINX 카테고리를 방문해주세요.
댓글을 달려면 로그인해야 합니다.