[Inflearn 강의 리뷰] 비전공자도 이해하는 Nginx 입문부터 실전까지
이 강의를 선택한 이유
프로젝트를 진행하면서 프론트엔드 배포와 서버 설정을 직접 다루게 되었다. 하지만 nginx를 배운 적이 없어서, 기존 설정을 수정할 때마다 불안했다. 구글링으로 찾은 설정들을 복사-붙여넣기만 하고 있었는데, 이게 올바른 방식인지 확신할 수 없었다.
마침 이 강의가 “비전공자도 이해한다”는 컨셉으로 오픈되었고, 이번 기회에 nginx를 제대로 배워보고 싶어 수강하게 되었다.
강의의 좋았던 점
1. “왜?”를 명확히 설명한다
강의의 가장 큰 장점은 단순히 명령어와 설정 파일만 알려주지 않는다는 것이다.
nginx가 어떤 역할을 하는지, 웹 서버와 리버스 프록시가 무엇인지, 왜 이런 설정이 필요한지를 먼저 이해시켜준다.
예를 들어, 나는 백엔드 API 서버를 도메인으로 연결하려고 했다. 강의 전에는 단순히 아래 설정만 알고 있었다:
1
2
3
4
5
6
7
8
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:8080;
}
}
하지만 강의를 통해 왜 proxy_pass를 사용하는지, 리버스 프록시가 어떤 보안 이점을 가지는지, 내부 포트를 외부에 직접 노출하면 안 되는 이유를 이해하게 되었다.
2. 쉽게 따라할 수 있는 실습 구성
웹 서버, 리버스 프록시, SSL 인증서 같은 개념들은 처음 접하면 정말 추상적이다. 하지만 강의는 이런 개념들을 단순한 예시로 직접 실습하면서 배울 수 있게 구성되어 있다.
특히 좋았던 점은 도메인 연결 설정을 배울 때다. DNS 관리 서비스에서 A 레코드를 입력하는 것부터 시작해서, 실제로 여러 서브도메인(app.example.com, api.example.com)을 같은 서버에 연결하는 과정을 직접 해본다.
3. 실무 중심의 커리큘럼
강의는 실제 현업에서 필요한 주제들로 구성되어 있었다:
- 프론트엔드 배포: React 빌드 결과물(dist), Next.js 빌드 결과물(out)을 nginx로 서빙하기
- 도메인 연결 및 DNS 설정: 여러 개의 서브도메인 관리
- HTTPS 적용: Let’s Encrypt와 Certbot을 이용한 무료 SSL 인증서 자동 설정
- 리버스 프록시: 백엔드 API를 외부에 안전하게 노출하기
이 모든 것이 단 3시간의 강의에 압축되어 있지만 실습 부분도 부족하지 않게 포함되어 있다.
강의에서 배운 핵심 내용
Nginx 기본 설정과 디렉토리 구조
강의를 통해 처음 이해한 것이 nginx의 주요 디렉토리였다:
1
2
3
4
5
# nginx 로그 확인
/var/log/nginx
# nginx 설정 파일
/etc/nginx/conf.d
설정을 변경할 때마다 반드시 해야 할 명령어들:
1
2
3
4
5
# 설정 파일 검증
sudo nginx -t
# 검증 후 실제 반영
sudo nginx -s reload
이 명령어들을 여러 번 실습해보면서 현업에서 nginx 설정을 수정할 때 많은 자신감을 얻어갔다.
프론트엔드 배포 설정
React와 Next.js 프로젝트를 배포하는 방식을 체계적으로 배웠다.
먼저 프론트엔드 프로젝트를 빌드하고:
1
2
3
4
npm install
npm run build
# React: dist 디렉토리 생성
# Next.js: out 디렉토리 생성
그 후 nginx 설정에서 이 디렉토리를 서빙한다:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# React
server {
listen 80;
server_name app.example.com;
location / {
root /home/user/frontend-react/dist;
index index.html index.htm;
}
}
# Next.js
server {
listen 80;
server_name admin.example.com;
location / {
root /home/user/frontend-next/out;
index index.html;
}
}
도메인 연결 및 DNS 설정
처음엔 가장 복잡해 보였던 부분이 도메인 연결이었다. DNS 관리 서비스에서 DNS를 관리하는 방법을 배우면서, 여러 서브도메인을 효율적으로 관리할 수 있게 되었다.
HTTPS 적용 - Let’s Encrypt와 Certbot
요즘 브라우저들이 HTTPS가 아닌 사이트는 접속을 경고하거나 차단하기 시작했다. 결국 HTTPS는 선택이 아닌 필수가 되었다. 강의에서는 Certbot을 사용해 Let’s Encrypt의 무료 SSL 인증서를 자동으로 획득하고 nginx에 적용하는 방법을 배운다.
1
sudo snap install --classic certbot
리버스 프록시 설정
백엔드 API 서버가 localhost:8080에서 실행 중일 때:
1
2
3
4
5
6
7
8
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:8080;
}
}
내부의 포트를 외부에 직접 노출하지 않으면서, 도메인으로 접근 가능하게 하는 방법을 배운다.
강의 추천
이 강의를 추천하는 사람들
- nginx를 처음 배우는 개발자: 개념부터 실습까지 체계적으로 학습할 수 있다
- 이미 사용 중이지만 체계적으로 배우고 싶은 개발자: 나처럼 구글링으로 배운 설정들을 정리할 수 있다
- DevOps 엔지니어/시스템 관리자 지망생: 입문 강의로 최적이다
강의의 특징 정리
| 항목 | 평가 |
|---|---|
| 강의 난이도 | 초중급 - 누구나 이해 가능 |
| 강의 길이 | 약 3시간 - 바쁜 개발자도 완주 가능 |
| 실무 적용성 | ⭐⭐⭐⭐⭐ - 바로 프로젝트에 적용 가능 |
| 강의 퀄리티 | ⭐⭐⭐⭐⭐ - 명확한 설명과 체계적 구성 |
| 가성비 | ⭐⭐⭐⭐⭐ - 3시간에 정도 내용이면 최고 |
최종 평가
⭐⭐⭐⭐⭐ (5.0/5.0)
이 강의는 nginx를 배우고 싶은 모든 사람에게 추천할 수 있는 필수 강의라고 생각한다.
특히 팀 규모가 작은 환경에서 개발자가 DevOps까지 담당해야 하는 현실에 딱 맞다. 짧지만 실무에서 필요한 내용만 압축해서 배울 수 있다.
강의를 듣기 전, 나는 nginx 설정을 “따라하는” 수준이었다. 강의 후, 나는 nginx 설정을 “이해하고 작성할 수” 있게 되었다. 이것이 좋은 강의라고 생각하는 이유이다.
참고 자료
강의 공식 링크:
https://www.inflearn.com/course/비전공자도-이해-nginx-실전
유용한 참고 문서:
댓글남기기