Nginx(엔진엑스) 웹서버 기초 완벽 가이드: 필수 폴더 구조 총정리

전 세계 웹 서비스에서 가장 광범위하게 활용되고 있는 대표 웹서버 엔진엑스(Nginx)의 핵심 기초를 다뤄봅니다. Nginx의 주요 특징과 시스템 구조, 처리 흐름부터 디렉터리 구성까지 핵심만 깔끔하게 정리해 드리겠습니다.

 

 

 

 

Nginx

 

Nginx 소개

기존 아파치(Apache)의 스레드 및 프로세스 할당 방식이 가진 자원 한계를 개선하기 위해 이벤트 비동기 기반으로 개발되었습니다. 엔진엑스는 이벤트 기반 구조의 웹 서버 소프트웨어로서 웹서버 역할뿐만 아니라 리버스 프록시, 트래픽 로드 밸런서, HTTP 캐싱 서버 등 다방면으로 작동합니다. 기존 아파치에 비해 압도적인 동시 접속 처리 능력과 적은 리소스 사용량이 최대 강점이라 할 수 있습니다.

 

Nginx 핵심 기능

1. 웹서버 기능 – HTML, CSS, JS, 이미지 파일 등 고정된 정적 파일을 클라이언트에게 신속하게 서빙합니다.

2. 리버스 프록시 – 최전방에서 요청을 수신한 뒤 뒤편의 내부 애플리케이션 서버로 중계해 주는 통로 역할을 합니다.

3. 로드 밸런싱 – 여러 대의 웹/앱 서버로 트래픽을 효율적으로 분산해 서버 과부하를 방지하고 부하를 줄입니다.

4. 캐싱 – 호출 빈도가 높은 파일이나 데이터를 미리 저장해 두어 응답 속도를 극적으로 끌어올립니다.

5. SSL/TLS 통신 – 암호화 데이터 송수신을 위한 보안 인증서 연결을 지원합니다.

 

Nginx 주요 구성 요소

엔진엑스를 시작하면 백그라운드에서 크게 2가지 형태의 프로세스가 생성되어 작동합니다.

 

Master Process전반적인 관리를 담당하는 최상위 프로세스로, 환경 설정 파일 판독, 워커 프로세스 관리 및 생성, 재시작과 설정 로딩 작업을 전담합니다.

Worker Process실질적인 사용자 요청을 받아들여 처리하는 구동 프로세스입니다.

Nginx 웹 서비스 흐름

1. 사용자의 요청 – 사용자가 웹 브라우저를 통해 특정 페이지를 요청합니다.

2. Nginx 수신 – 시스템 가장 앞단에 위치한 Nginx가 해당 HTTP/HTTPS 요청을 받습니다.

3. 리버스 프록시 전달 – Nginx는 환경 설정(nginx.conf) 속 location 블록과 proxy_pass 경로를 확인하여 8080 포트 등에서 동작 중인 백엔드(Spring Boot 내장 톰캣 등)로 트래픽을 전달합니다.

4. Spring Boot 작업 수행 – 전달받은 애플리케이션이 데이터베이스 조회 등 비즈니스 로직을 구동하여 데이터를 구성합니다.

5. 응답 전달 – 백엔드가 반환한 처리 결과를 Nginx가 받아서 사용자 브라우저로 최종 응답을 전송합니다.

 

 

 

 

Nginx 폴더 구조

 

/etc/nginx/ (설정)

엔진엑스의 전체적인 환경 설정을 관리하는 가장 기본적인 메인 디렉터리 구조입니다.

 

├── nginx.conf – 시스템 전체에 적용되는 핵심 설정 파일로, 외부 서브 설정 파일들을 불러오는(include) 역할을 겸합니다.

├── mime.types – 파일 확장자와 MIME 브라우저 데이터 타입을 서로 매핑해 주는 파일입니다.

├── conf.d/ – 커스텀 공통 설정 파일들을 보관하는 폴더로 전역 서버 세팅이 배치됩니다.

├── sites-available/ – 등록 가능한 가상 호스트(Virtual Host) 설정 파일 원본들이 저장되는 공간입니다.

├── sites-enabled/ – sites-available 중 실제 구동에 적용되어 활성화된 설정 심볼릭 링크가 저장됩니다.

├── modules-available/ – 적용 가능한 동적 모듈 파일들이 보관되는 위치입니다.

└── modules-enabled/ – 실제 시스템에 로드되어 동작 중인 동적 모듈 구성입니다.

 

/var/www/ (콘텐츠)

└── html/

    └── index.html – 실질적으로 외부로 서빙할 정적 웹 리소스가 보관되는 공간이며 root나 alias 구문으로 참조합니다.

 

/var/log/nginx/ (로그)

엔진엑스 서버의 수신 기록 및 시스템 오류 로그가 쌓이는 디렉터리입니다.

 

├── access.log – 서비스에 도달한 개별 요청과 방문 내역이 실시간으로 기록되는 접속 로그입니다.

└── error.log – 구동 중 오류나 문제 상황 발생 시 관련 에러 내역이 저장되는 로그입니다.

 

이 게시물이 얼마나 유용했습니까?

평점 0 / 5. 참여 0

첫번째 평가를 남겨주세요!

Leave a Comment

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.