NGINX 란

LeeJaeG·2023년 8월 8일
0

NGINX

여러 요청을 한번에 처리할수 있는 장점을 가진 웹서버

리버스 프록시 로서 역할

  • 프록시는, 클라이언트와 서버 통신 중간에서 대신 통신을 해주는 서버를 의미한다.
  • 포워드 프록시는, 내부망에 함께 있는 클라이언트가 인터넷을 통해 어딘가에 있는 서버로 요청을 보내려고하면 이 요청을 받아 연결해준다. 클라이언트 앞단에서의 처리!
  • 리버스 프록시는, 내부망의 서버 앞단에서 요청을 처리한다.
  • DDoS 공격 완화 : 수신 요청과 단일 IP 주소당 연결 수를 일반 사용자에게 일반적인 값으로 제한할 수 있습니다. 또한 Nginx를 사용하면 클라이언트 위치와 "User-에이전트" 및 "Referer"와 같은 요청 헤더 값을 기준으로 액세스를 차단하거나 제한할 수 있습니다.

Event Driven 아키텍처는 특정 서비스에서 다른 서비스가 관심을 가질 수 있는 일부 작업을 수행할 때 해당 서비스는 이벤트(작업의 기록)를 생성

시스템 내 외부에 발생한 주목할 만한 상태의 변화에 기반한 동작

apigateway 기능도 수행가능

server {
listen 80 default_server;
listen [::]:80 default_server;

## Products API#location /api/products {
proxy_pass http://products_api:8001;
   }

## Users API#location /api/users {
proxy_pass http://users_api:8002;
   }
}

Nginx의 구조

Nginx는 하나의 Master Process와 다수의 Worker Process로 구성되어 실행

Master Process는 설정 파일을 읽고,유효성을 검사 및 Worker Process를 관리

모든 요청은 Worker Process에서 처리

Nginx는 이벤트 기반 모델을 사용

Worker Process 사이에 요청을 효율적으로 분배하기 위해 OS에 의존적인 메커니즘을 사용

Worker Process의 개수는 설정 파일에서 정의되며,

정의된 프로세스 개수와 사용 가능한 CPU 코어 숫자에 맞게 자동으로 조정

profile
코딩으로 경제적 자유까지

0개의 댓글