티스토리 뷰

Skill/기반기술

Nginx

진열사랑 2025. 8. 23. 14:16

🔹 1. Nginx란?

  • **고성능 웹 서버(Web Server)**이자 리버스 프록시 서버(Reverse Proxy Server)
  • 처음엔 아파치(Apache) 웹 서버의 한계를 극복하려고 만들어짐 (특히 동시 접속 처리 성능 문제).
  • 현재는 웹 서버 + 로드밸런서 + 리버스 프록시 역할까지 수행하는 만능 서버 소프트웨어.

🔹 2. 주요 역할

✅ (1) 정적 파일 서버

  • HTML, CSS, JS, 이미지 같은 정적 리소스를 빠르게 서비스

✅ (2) 리버스 프록시

  • 클라이언트 요청을 받아서 **백엔드 서버(Node.js, Spring, Python 등)**로 전달
  • 백엔드 서버는 내부망에서 돌고, Nginx가 앞단에서 요청을 분산 처리

✅ (3) 로드밸런서

  • 여러 대의 서버에 트래픽을 분산시켜서 부하 분산

✅ (4) SSL/TLS 종료

  • HTTPS(SSL 인증서) 처리
  • 백엔드 서버는 HTTP로 동작하고, Nginx가 SSL 암호화를 담당

✅ (5) 캐싱

  • 자주 쓰이는 요청에 대해 캐시를 두어 응답 속도 향상

🔹 3. Nginx vs Apache

구분 Apache Nginx

구조 프로세스/스레드 기반 이벤트 기반 (비동기 처리)
동시 연결 처리 많아질수록 무겁고 느려짐 수십만 연결도 효율적
장점 모듈 많고 오래된 생태계 가볍고 빠르고 최신 트래픽 환경에 강함
사용 예시 전통적 웹사이트, PHP 기반 서비스 최신 웹서비스, API 서버 앞단 프록시

🔹 4. 예시: 리버스 프록시 설정

server {
    listen 80;
    server_name mysite.com;

    location / {
        proxy_pass http://localhost:3000;   # 백엔드(Node.js)로 요청 전달
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

👉 위 설정은

  • mysite.com으로 들어온 요청을
  • 내부의 localhost:3000(예: Next.js, Spring 서버)으로 전달

🔹 5. 정리

  • Nginx(엔진엑스) = 가볍고 빠른 웹 서버 & 리버스 프록시
  • 보통 이렇게 씁니다:
    • 정적 파일: Nginx가 바로 응답
    • 동적 API: Nginx → 백엔드 서버 전달
    • 여러 서버 있으면 로드밸런싱
    • HTTPS 인증서 관리

👉 혹시 원하시는 게 “Nginx 개념 설명”일까요, 아니면 “Next.js나 Spring을 배포할 때 Nginx 설정 예시”를 보시는 게 더 도움이 될까요?

'Skill > 기반기술' 카테고리의 다른 글

PYCHARM 설정  (0) 2025.08.22
폐쇄망 python을 위한 rpm 설치  (2) 2025.07.29
rpm 버전 충돌 해결법  (2) 2025.07.29
linux] 네트웍차단  (1) 2025.07.28
python 설치 rpm 의존성 포함 download  (2) 2025.07.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함