Nginx에서 멀티 도메인을 설정하는 방법
하나의 서버에서 여러 서비스를 운영하다 보면 api.example.com, admin.example.com, shop.example.com 처럼
각 서비스마다 도메인을 다르게 구성해야 할 일이 생긴다.
Nginx를 활용하여 하나의 인스턴스에서 여러 도메인을 각기 다른 서비스에 연결하는 방법에 대해 알아보자.
멀티 도메인 설정을 실습하거나 적용하려면 먼저 각 서비스에 사용할 도메인이 필요하다.
나는 무료 도메인을 발급받을 수 있는 https://내도메인.한국 사이트를 통해 진행했다.
- 사이트에 접속 후 회원가입
- 원하는 도메인 이름을 검색해 사용 가능한 도메인을 선택
- 도메인 관리로 진입하여 발급받은 도메인을 DNS 설정을 통해 실제 서버와 연결 (EC2 IP 주소를 입력하면 된다.)

이렇게 도메인이 서버를 바라보게 되면, 이후 Nginx에서 해당 도메인에 맞는 설정을 추가해 서비스 분기를 할 수 있다.
1. Server Block
여러 도메인을 처리하는 Nginx의 기본 단위이다. 저번 시간에 배운 설정 파일(default.conf)을 보면 server 블록이 존재한다.
Nginx 에서는 이 server 블록 내부의 server_name 지시어를 통해 따라 각기 다른 도메인 요청을 구분하고, 해당 요청을 처리할 방식을 지정할 수 있다.
// 설정 파일로 이동
$ cd /etc/nginx/conf.d
$ sudo vi default.conf
나의 경우, 서로 다른 두 개의 도메인 요청을 각각 다른 서비스로 연결해야 하는 상황을 가정했고 아래처럼 server block을 분리했다.
server {
listen 80;
server_name nginx.r-e.kr;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
server {
listen 80;
server_name admin.nginx.r-e.kr;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
설정을 마친 이후에는 꼭 sudo nginx -t 와 sudo nginx -s reload 명령어를 통해 변경사항을 확인하고 반영하자.
2. 배포 확인
Nginx 설정을 마쳤다면 각 도메인으로 접근해보며 설정이 정상적으로 적용되었는지 확인해보자.
1. http://nginx.r-e.kr
2. http://admin.nginx.r-e.kr
만약 연결이 되지 않는다면 다음 사항들을 점검해볼 수 있다:
- 각 도메인의 DNS 설정이 서버 IP를 제대로 가리키고 있는지 (A 레코드)
- 각 내부 서비스(예: 8080 포트, 3000 포트)가 정상적으로 실행 중인지
- server_name이 정확히 요청 도메인을 받고 있는지
3. 전체 구조

- 하나의 EC2 서버에서 Nginx를 통해 두 개의 도메인(nginx.r-e.kr, admin.nginx.r-e.kr)을 처리
- Nginx가 요청된 도메인에 따라 각각 다른 server block으로 분기
- nginx.r-e.kr → 사용자용 홈페이지
- admin.nginx.r-e.kr → 관리자용 홈페이지
- 클라이언트는 각 도메인으로 접속하여, 해당 서비스에 맞는 응답을 받음
'Study Notes > Nginx' 카테고리의 다른 글
| [Nginx] Nginx를 로드 밸런서로 사용하기 (2) | 2025.08.01 |
|---|---|
| [Nginx] Nginx 리버스 프록시 서버 구축 (0) | 2025.08.01 |
| [Nginx] Nginx를 활용한 HTTPS 적용 (3) | 2025.07.31 |
| [Nginx] Nginx 기본 문법 해석하기 (2) | 2025.07.27 |
| [Nginx] Nginx 설치 및 실행하기 (4) | 2025.07.25 |