데릭 디용기 님의 "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; |
기본 제공할 파일 설정
|
'Network' 카테고리의 다른 글
[NGINX 쿡북] 3. 트래픽 관리 (0) | 2025.04.01 |
---|---|
[NGINX 쿡북] 2. 고성능 부하분산 (0) | 2025.04.01 |
[러닝 HTTP/2] 5. HTTP/2 프로토콜 (0) | 2025.03.30 |
[러닝 HTTP/2] 4. HTTP/2로의 전환 (0) | 2025.03.30 |
[러닝 HTTP/2] 3. 웹을 파헤치는 이유와 방법 (0) | 2025.03.30 |