Nginx를 잘 다루기 위해서는 설정 구조 파일에 대한 이해와 사용할 수 있는 방법들이나 명령어들을 잘 파악하는 것이 중요하다.
따라서 이를 위한 내용들을 학습하고 정리한다.
Nginx.conf 파일 구성 하기( .conf 파일 )
Nginx에서 가장 중요한 설정 파일인 conf 파일에 대해서 다뤄보자.
먼저, Nginx의 학습에 있어 가장 먼저 이해가 필요한 부분은 Nginx의 설정파일은 Block 단위라는 것이다.
Nginx는 기본적으로 Block 단위로 설정을 생성하며, 각 블록 단위는 포함관계를 지니고 각 단계에서의 옵션을 설정할 수 있다.
그리고 이 Block 단위의 설정 파일은 아래와 같은 모식도로 구성된다.

모식도를 살펴보면 Main Context는 가장 최상위의 Block 단위로 해당 영역에서는 Nginx 전체에 영향을 주는 설정들이 대게 들어간다.
실습을 위해서 먼저 기존에 있던 conf 파일을 삭제하고 진행해보겠다.(아래의 내용을 참고하면 삭제 후 사라진 모습이다.)

이후 vi nginx.conf 명령어로 nginx.conf 파일을 생성 후 진입하려고 하니 에러가 난 모습이다.
이를 해결하기 위해서는 아래의 명령어를 통해서 vim 명령어를 사용할 수 있도록 vim을 설치해준다.
apt update
apt install vim -y
위의 명령어를 통해 vim 설치 후 vi nginx.conf 명령어를 입력하면 아래와 같이 nginx.conf 파일 생성 후 해당 파일에 접근 가능한다.

이제 본론으로 돌아가서 Main Context에서 전체 설정에 영향을 주는 파일 설정값 입력을 진행해보자.

각 설정 파일들의 내용은 나중에 좀 더 자세히 알아볼 예정이며, 대략적인 내용은 다음과 같다.
worker_processes(Main Context)
worker_processes auto;
- CPU 개수에 맞게 Nginx 프로세스를 자동으로 생성한다.
- 컴퓨터 성능에 맞춰 자동으로 work 생성
events 블록
events {
worker_connections 1024;
}
- 한 worker가 동시에 처리 가능한 연결 수
- 하나의 worker가 최대 1024개의 연결까지 처리 가능
http 블록
http {
include mime.type;
- 파일 타입 설정 (html, css, js 등)
- 파일 확장자에 맞게 브라우저가 이해하도록 설정
server 블록
server {
listen 8080;
server_name localhost;
- 8080 포트에서 서버 실행
- localhost로 접속 가능 설정
location / (기본 웹페이지)
location / {
root /opt/homebrew/var/www;
index index.html;
}
- / (메인 페이지 요청 시)
- 해당 폴더에서 파일 찾음
location /api
location /api {
proxy_pass http://localhost:3000;
}
- /api로 시작하는 요청은
- 다른 서버로 전달 (프록시)
✔️ nginx → 프론트 웹 서버
✔️ 3000번 → 백엔드 서버 (Node / Spring 등)
이처럼 설정 파일을 구성하는 Nginx의 Block 개념과 해당 설정 내용들에 대해 간단하게 살펴보았다.
이제 해당 내용에 대한 흐름 파악과 함께 구조를 정리해보자.
Nginx 흐름 및 구조

위의 모식도는 Nginx를 사용할 때, 가장 기본적인 포멧이다.
설정 파일 내에서 가장 많이 수정하는 Block은 Server Block에 해당한다.
그리고 Server 블록은 항상 Http 블록과 연관되어 있으며, 큰 범주로는 location과 함께 많이 연관되어 이 3개의 블럭을 수정하는 일이 Nginx 설정 파일 구성에 있어 빈번한 작업이 될 것이다.
'Nginx' 카테고리의 다른 글
| Nginx Process Model - 처리량 관점의 설정 (0) | 2026.05.14 |
|---|---|
| Nginx include 디렉티브 - 설정 파일 분리와 구조화 (0) | 2026.05.12 |
| Nginx의 계층 구조와 상속 및 재정의 방식 (0) | 2026.05.10 |
| Nginx의 설치 및 환경 구성( 기본적인 명령어 및 파일구성 / 무중단 배포를 위한 재시작 명령어 ) (0) | 2026.05.08 |
| Nginx의 핵심적인 개념 (0) | 2026.05.07 |
댓글