nginx — 웹서버 설정 검사와 리로드
Linux / 웹 서버 운영 / nginx.html
💬 "nginx 명령어"
nginx는 설정 변경 후 문법 검사 → 리로드 순서를 지켜야 무중단으로 반영됩니다.
reload는 기존 연결을 유지한 채 새 워커로 교체하므로 restart보다 안전합니다.
- 개념: 웹서버 설정을 검사하거나 반영하고 상태를 확인합니다.
- -t: 설정 문법을 검사합니다(필수 절차).
- reload: 중단 없이 설정을 다시 읽습니다.
- status: 워커 상태와 최근 로그를 봅니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
-t | 설정 문법 검사 |
-T | 검사 후 실제 적용될 설정 전체를 출력 |
reload | 무중단 설정 반영 |
restart | 워커를 완전히 재시작(순단 발생 가능) |
필수 명령어 조합 3가지
nginx -t— 변경 전 문법 검사nginx -t && systemctl reload nginx— 검사 통과 시에만 리로드systemctl status nginx --no-pager | head— 워커와 최근 로그 확인
💬 "트래픽 몰릴 때 확인하는 방식으로 예시 들어줘"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 문법 검사
설정을 바꾼 뒤 반드시 검사합니다.
nginx -t
2단계 · 리로드
검사가 통과하면 무중단으로 반영합니다.
systemctl reload nginx
3단계 · 검증
응답 헤더와 오류 로그를 확인합니다.
curl -sI https://example.com | head -1 && tail -n 3 /var/log/nginx/error.log
실무에서는 이렇게 씁니다
1. 도메인 추가
상황 — 새 도메인의 server 블록을 추가했습니다.
nginx -t && systemctl reload nginx
결과 — 문법 검사를 통과하면 기존 연결을 끊지 않고 새 설정이 반영됩니다.
포인트 — 검사 없이 리로드하면 오류 시 웹서버가 내려갈 수 있습니다.
2. 502 원인 확인
상황 — 일부 요청만 502가 납니다.
tail -n 50 /var/log/nginx/error.log | grep -i upstream
결과 — upstream 연결 실패/타임아웃 메시지로 백엔드 문제를 확인합니다.
포인트 — 설정 문제인지 백엔드 문제인지 로그로 구분합니다.
주의할 점
- reload 전에 nginx -t는 생략하면 안 됩니다.
- restart는 진행 중 연결이 끊길 수 있어 트래픽 낮은 시간에 합니다.
- 설정을 바꿀 때 include 경로와 세미콜론 누락이 흔한 실수입니다.
실제 실행 화면
설정 문법을 검사한 뒤 무중단 리로드하고 활성 상태를 확인한 결과입니다.

실제 운영 중인 서버
이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.