본문 바로가기
컴퓨터공학/웹 개발

웹서버 | 엔진엑스(Nginx) 기초 및 폴더 구조

by KISCH 2026. 2. 19.

전 세계에서 가장 널리 쓰이는 웹서버 중 하나인 엔진엑스(NginX)에 대해 소개해드립니다. 엔진엑스 특징, 구성, 웹서비스 흐름, 폴더 구조에 대해 알아보겠습니다.

 

 

목차

     

     

    Nginx

     

    Nginx 소개

    기존 Apache의 프로세스/스레드 기반 구조의 한계를 극복하기 위해 이벤트 기반으로 탄생되었습니다. 엔진엑스는 이벤트 기반 웹 서버 소프트웨어로 고성능 웹 서버, 리버스 프록시, 로드 밸런서, HTTP 캐시 역할을 동시에 수행할 수 있습니다. 아파치와 비교하면 동시 접속 처리 성능이 뛰어나고 낮은 메모리 사용량이 장점 되겠습니다.

     

    Nginx 핵심 기능

    1. 웹서버 - 정적 파일 (HTML, CSS, JS, 이미지)을 클라이언트에게 직접 제공합니다.

    2. 리버스 프록시 - WAS(웹 애플리케이션 서버) 앞단에서 요청을 받아 애플리케이션 서버로 전달하고 응답을 받아오는 역할

    3. 로드 밸런싱 - 여러 애플리케이션 서버로 요청을 분산시켜 부하를 줄이고 안정성을 높입니다.

    4. 캐싱 - 자주 요청되는 콘텐츠를 캐싱하여 응답 속도롤 향상시킵니다.

    5. SSL/TLS - 보안 연결을 제공합니다.

     

    Nginx 주요 구성 요소

    엔진엑스를 실행하면 기본적으로 두 종류의 프로세스가 뜹니다.

     

    Master Process - 부모 역할을 하는 마스터 프로세스는 설정 파일 읽기, 워커 프로세스 생성, 관리, 재시작, 재로딩 등의 관리 작업을 담당

    Worker Proces - 실제 클라이언트의 요청을 받고 처리


    Nginx 웹 서비스 흐름

    1. 클라이언트 요청 - 사용자의 브라우저를 통해 요청을 보냅니다.

    2. Nginx 수신 - 서버 앞단에 위치한 Nginx가 이 요청을 수신합니다.

    3. 리버스 프록시 전달 - Nginx는 설정 파일(nginx.conf)의 location 블록(proxy_pass) 설정에 따라 요청을 8080 포트 등에서 실행 중인 Spring Boot 내장 톰캣으로 전달합니다.

    4. Spring Boot 처리 - 스프링 부트 애플리케이션이 비즈니스 로직을 처리하고 결과를 반환합니다.

    5. 응답 반환 - 스프링 부트가 반환한 데이터를 Nginx가 받아 클라이언트에게 최종 응답합니다.

     

     

     

     

    Nginx 폴더 구조

     

    /etc/nginx/ (설정)

    엔진엑스 서버가 사용하는 기본 설정이 저장된 루트 디렉터리입니다.

     

    ├── nginx.conf - 메인 설정 파일, 전역 설정 + 다른 설정 파일 include

    ├── mine.types - 확장자 MINE 타입 매핑

    ├── conf.d/ - 공통 설정 파일 디렉터리, 보통 전역 설정 또는 공용 서버 설정

    ├── sites-available/ - 가상 호스트 설정 보관소

    ├── sites-enabled/ - 실제 활성화된 가상 호스트

    ├── modules-available/ - 동적 모듈 관리

    └── modules-enabled/ - 동적 모듈 관리

     

    /var/www/ (콘텐츠)

    └── html/

        └── index.html - 정적 파일이 위치하며 root 또는 ailas로 연결

     

    /var/log/nginx/ (로그)

    엔진엑스의 로그가 저장되는 디렉터리

     

    ├── access.log - 접속 로그. 서버가 수신한 개별 요청에 대한 로그를 저장

    └── error.log - 에러 로그로 오류 발생 시 이벤트 내용을 저장

     


    관련포스트
    웹 서버와 웹 애플리케이션 서버(WAS)의 차이 설명
    프론트엔드와 백엔드(웹서버, 웹애플리케이션, 웹프레임워크)
    웹서버 | 아파치 (Apache) 에 대한 기초 지식
    웹서버 | Apache
    반응형

    댓글