Network

[NGINX 쿡북] 1. 엔진엑스 기초

noahkim_ 2025. 4. 1. 01:44

데릭 디용기 님의 "NGINX 쿡북" 책을 정리한 글입니다.

 

0. 소개

1. 데비안/우분투 리눅스 배포판에 설치하기

2. 레드햇/센트OS 리눅스 배포판에 설치하기

3. 엔진엑스 플러스 설치하기

4. 설치 상태 점검하기

5. 주요 설정 파일, 디렉터리, 명령어

주요 파일과 디렉토리

경로 설명
/etc/nginx/ NGINX의 기본 설정이 저장된 루트 디렉토리
/etc/nginx/nginx.conf 기본 설정 파일 (다른 세부 설정 파일을 참조)
/etc/nginx/conf.d/ 추가 설정 파일이 저장되는 디렉토리
/var/log/nginx/
로그 파일 저장 디렉토리 (access.log, error.log 포함)

 

주요 명령어

명령어 설명
nginx -v NGINX 버전 출력
nginx -V 컴파일 옵션 및 모듈 정보 포함한 버전 출력
nginx -t 설정 파일 문법 검사 (오류 확인)
nginx -T 모든 설정 파일을 포함하여 출력
nginx -s stop 즉시 종료 (현재 연결도 강제 종료)
nginx -s quit 정상 종료 (현재 요청 처리 후 종료)
nginx -s reload 설정 파일 재적용 (중단 없이 변경사항 반영)
nginx -s reopen 로그 파일을 다시 열기 (로그 롤링 시 사용)

 

6. include 구문을 사용해 깔끔한 설정 만들기

http {
    include conf.d/*.conf;
}
  • 설정 파일을 논리적으로 그룹화할 수 있음
  • 중복 사용되는 설정을 별도의 모듈화된 설정 파일로 만들어 여러 부분에서 참조하여 사용함

 

활용 사례

fastcgi_param
  • 다수의 FastCGI 서버를 운용하는 경우, 각 서버를 참조하여 중복되지 않도록 사용

 

ssl 설정
  • 공통 설정을 통해 각 서버에 동일하게 적용

 

7. 정적 콘텐츠 서비스하기

server {
    listen       80 default_server;
    server_name  localhost;

    location / {
        root   /usr/local/var/www;
        index  index.html;
    }
}
설정 항목 설명
server { ... } 하나의 가상 서버를 정의하는 블록
listen 80 default_server;
포트 80(HTTP)에서 요청을 받으며, 기본 서버로 설정
server_name localhost; 서버의 도메인 이름이나 호스트명을 지정함
location / { ... } URL 경로에 대한 요청 처리 방식 정의
root html; 요청된 URI를 매핑할 파일 시스템 경로를 설정하는 지시자 (웹 루트 디렉토리를 설정)
- 상대경로로 적용됨
- 기본
index index.html index.htm;
기본 제공할 파일 설정