Skip to content

hundong2/nginx_example

Repository files navigation

πŸš€ μ™„μ „ν•œ Nginx κ°€μ΄λ“œ: μ΄ˆλ³΄μžμ—μ„œ μ „λ¬Έκ°€κΉŒμ§€

nginxλ₯Ό 처음 μ ‘ν•˜λŠ” μ΄ˆλ³΄μžλΆ€ν„° μ „λ¬Έκ°€ μˆ˜μ€€κΉŒμ§€ λ‹¨κ³„λ³„λ‘œ ν•™μŠ΅ν•  수 μžˆλŠ” μ’…ν•© κ°€μ΄λ“œμž…λ‹ˆλ‹€. λͺ¨λ“  μ˜ˆμ œλŠ” Docker ν™˜κ²½μ—μ„œ λ°”λ‘œ μ‹€ν–‰ν•  수 μžˆλ„λ‘ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

πŸ“‹ λͺ©μ°¨

πŸš€ λΉ λ₯Έ μ‹œμž‘

# μ €μž₯μ†Œ 클둠
git clone https://github.com/hundong2/nginx_example.git
cd nginx_example

# κ°€μ΄λ“œ ν™ˆνŽ˜μ΄μ§€ μ‹€ν–‰
docker compose --profile guide up -d

# λΈŒλΌμš°μ €μ—μ„œ http://localhost:8000 확인

# λͺ¨λ“  예제 μ‹€ν–‰
docker compose --profile all up -d

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

nginx_example/
β”œβ”€β”€ nginx-guide.md              # πŸ“– μ™„μ „ν•œ κ°€μ΄λ“œ λ¬Έμ„œ
β”œβ”€β”€ docker-compose.yml          # 🐳 메인 Docker Compose 파일
β”œβ”€β”€ html/                       # 🏠 κ°€μ΄λ“œ ν™ˆνŽ˜μ΄μ§€
β”‚   └── index.html
β”œβ”€β”€ examples/                   # πŸ“š 단계별 μ˜ˆμ œλ“€
β”‚   β”œβ”€β”€ beginner/              # 레벨 1: 기초
β”‚   β”‚   β”œβ”€β”€ 01-basic-server/   # κΈ°λ³Έ μ›Ή μ„œλ²„
β”‚   β”‚   └── 02-virtual-hosts/  # 가상 호슀트
β”‚   β”œβ”€β”€ intermediate/          # 레벨 2: 쀑급 (μ€€λΉ„ 쀑)
β”‚   β”œβ”€β”€ advanced/              # 레벨 3: κ³ κΈ‰ (μ€€λΉ„ 쀑)
β”‚   └── expert/                # 레벨 4: μ „λ¬Έκ°€ (μ€€λΉ„ 쀑)
β”œβ”€β”€ nginx_config/              # κΈ°μ‘΄ μ„€μ • νŒŒμΌλ“€
└── README.md                  # 이 파일

🎯 ν•™μŠ΅ 레벨

πŸ“— 레벨 1: 기초 (Beginner)

  • βœ… κΈ°λ³Έ μ›Ή μ„œλ²„ μ„€μ • - nginx의 κΈ°λ³Έ κ°œλ…κ³Ό 정적 파일 μ„œλΉ™
  • βœ… Virtual Hosts (가상 호슀트) - ν•˜οΏ½οΏ½οΏ½μ˜ μ„œλ²„λ‘œ μ—¬λŸ¬ μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…
  • βœ… κΈ°λ³Έ λ³΄μ•ˆ 헀더 - μ›Ήμ‚¬μ΄νŠΈ λ³΄μ•ˆμ„ μœ„ν•œ HTTP λ³΄μ•ˆ 헀더 μ„€μ •

πŸ“˜ 레벨 2: 쀑급 (Intermediate) - μ€€λΉ„ 쀑

  • πŸ”„ λ¦¬λ²„μŠ€ ν”„λ‘μ‹œ μ„€μ •
  • πŸ”„ λ‘œλ“œ λ°ΈλŸ°μ‹±
  • πŸ”„ SSL/TLS μ„€μ •
  • πŸ”„ 캐싱 및 μ••μΆ•

πŸ“™ 레벨 3: κ³ κΈ‰ (Advanced) - μ€€λΉ„ 쀑

  • πŸ”„ Rate Limiting
  • πŸ”„ κ³ κΈ‰ 캐싱 μ „λž΅
  • πŸ”„ κ³ κΈ‰ λ³΄μ•ˆ μ„€μ •
  • πŸ”„ 둜그 뢄석 및 λͺ¨λ‹ˆν„°λ§

πŸ“• 레벨 4: μ „λ¬Έκ°€ (Expert) - μ€€λΉ„ 쀑

  • πŸ”„ μ„±λŠ₯ μ΅œμ ν™” 및 νŠœλ‹
  • πŸ”„ Lua μŠ€ν¬λ¦½νŒ…
  • πŸ”„ κ³ κΈ‰ λͺ¨λ‹ˆν„°λ§ μ‹œμŠ€ν…œ
  • πŸ”„ 블루-κ·Έλ¦° 배포

🐳 μ‹€ν–‰ 방법

전체 κ°€μ΄λ“œ ν™ˆνŽ˜μ΄μ§€

docker compose --profile guide up -d
# http://localhost:8000 접속

κ°œλ³„ 예제 μ‹€ν–‰

# κΈ°λ³Έ μ›Ή μ„œλ²„
docker compose --profile basic up -d
# http://localhost:8001 접속

# Virtual Hosts
docker compose --profile virtual-hosts up -d
# Host ν—€λ”λ‘œ ν…ŒμŠ€νŠΈ:
# curl -H "Host: site1.local" http://localhost:8002
# curl -H "Host: site2.local" http://localhost:8002

# λ³΄μ•ˆ 헀더
docker compose --profile security up -d
# http://localhost:8003 접속
# curl -I http://localhost:8003 (헀더 확인)

λͺ¨λ“  예제 μ‹€ν–‰

docker compose --profile all up -d

μ„œλΉ„μŠ€ 쀑지

docker compose down

🌐 포트 정보

포트 μ„œλΉ„μŠ€ μ„€λͺ…
8000 κ°€μ΄λ“œ ν™ˆνŽ˜μ΄μ§€ 전체 κ°€μ΄λ“œ 및 예제 링크
8001 κΈ°λ³Έ μ›Ή μ„œλ²„ nginx κΈ°λ³Έ μ„€μ • 예제
8002 Virtual Hosts 가상 호슀트 예제
8003 λ³΄μ•ˆ 헀더 HTTP λ³΄μ•ˆ 헀더 예제

πŸ“– 상세 κ°€μ΄λ“œ

전체 κ°€μ΄λ“œ λ¬Έμ„œλŠ” nginx-guide.mdλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”. 각 λ ˆλ²¨λ³„ μƒμ„Έν•œ μ„€λͺ…κ³Ό μ‹€μŠ΅ λ‚΄μš©μ΄ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

πŸ› οΈ κΈ°μ‘΄ μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰ (ν˜Έν™˜μ„±)

κΈ°μ‘΄ λ°©μ‹μœΌλ‘œλ„ μ—¬μ „νžˆ μ‹€ν–‰ κ°€λŠ₯ν•©λ‹ˆλ‹€:

# κΈ°μ‘΄ 방식
docker build -t my-nginx:latest .
./run-nginx.sh

🀝 κΈ°μ—¬ν•˜κΈ°

이 ν”„λ‘œμ νŠΈμ— κΈ°μ—¬ν•˜κ³  μ‹ΆμœΌμ‹œλ©΄:

  1. Fork this repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a Pull Request

πŸ“ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.


🎯 λͺ©ν‘œ: nginxλ₯Ό μ™„μ „νžˆ λ§ˆμŠ€ν„°ν•˜μ—¬ μ‹€λ¬΄μ—μ„œ μžμ‹  있게 ν™œμš©ν•  수 μžˆλ„λ‘ λ•λŠ” κ²ƒμž…λ‹ˆλ‹€!

κΆκΈˆν•œ 점이 있으면 Issuesλ₯Ό 톡해 μ–Έμ œλ“ μ§€ λ¬Έμ˜ν•΄μ£Όμ„Έμš”! πŸ’¬

About

nginx

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors