반응형
Nginx란
nginx는 한줄로 정리하자면
고성능의 웹 서버이자 리버스 프록시 서버 역할을 하는 소프트웨어
Apache,Tomcat처럼 웹과 관련된 트래픽을 처리하는
서버 애플리케이션이다.
Nginx의 역할
분류 | 역할 설명 | 예시 |
🌐 웹 서버 | HTML, JS, 이미지 같은 정적 파일 서빙 | localhost/index.html 직접 보여줌 |
🔁 리버스 프록시 서버 | 클라이언트 요청을 다른 서버(Spring 등)에 대신 전달 | proxy_pass http://localhost:8080 |
⚖️ 로드 밸런서 | 여러 백엔드 서버로 요청을 분산 | server 8081, server 8082 |
🔐 SSL 처리기 | HTTPS 요청을 받고 인증서 관리 | ssl_certificate 설정 |
📦 캐시 서버 | 요청 결과를 메모리에 저장해 빠르게 응답 | proxy_cache 기능 |
각각 역할별로 무슨 일을 하는지 보자면
1. 웹서버
- 정적 자원 (HTML, JS, CSS, 이미지 등)을 파일 그대로 클라이언트에 전송하는 역할
- 요청이 들어오면 파일을 찾아서 바로 반환
- 정적 파일은 자주 바뀌지 않아서, 굳이 백엔드(Spring 등)를 거치지 않아도 됨
- Nginx가 처리하면 훨씬 빠르고 리소스 낭비 없음
2. 리버스 프록시 서버
- 클라이언트 요청을 Nginx가 먼저 받고, 이를 내부에 있는 서버(예: Spring Boot)로 대신 전달
- 전달된 응답을 다시 사용자에게 중계해주는 중간자
- 백엔드 서버가 외부에 직접 노출되지 않음 → 보안 향상
- 여러 서비스 요청을 하나의 도메인으로 통합 가능
- 경로/도메인/헤더에 따라 다른 서버로 보낼 수도 있음
3.로드 밸런서
- 같은 기능을 하는 백엔드 서버 여러 개에 트래픽을 분산시켜 처리 성능을 높임
- Nginx가 요청마다 순서대로 또는 가중치 기반으로 서버를 선택해 전달
- 서버 하나가 과부하로 죽는 걸 방지
- 트래픽이 많을 때도 안정적인 응답 제공
4. SSL 처리기
- 클라이언트와 서버 간 통신을 암호화하여 도청·위변조 방지
- 인증서(SSL/TLS)를 이용해 HTTPS 연결 처리
5.캐시 서버
- 자주 요청되는 페이지나 응답 결과를 메모리나 디스크에 저장
- 동일한 요청이 오면 Nginx가 백엔드에 가지 않고 바로 응답
- 서버 부하 감소
- 응답 속도 향상
반응형
'웹개발지식' 카테고리의 다른 글
WSL이란 , WSL1과 WSL2의 차이 (1) | 2025.04.21 |
---|