[WEB] Nginx란?

[WEB] Nginx란?

동시접속 처리에 특화된 웹 서버 프로그램


  • Apache보다 동작이 단순하고, 전달자 역할만 하기 때문에 동시접속 처리에 특화 됨
  • 동시 접속자(약 700명)이상이라면 서버를 증설하거나, Nginx환경을 권장
  • 지금 아파치가 시장 점유율이 압도적이지만, AWS에서는 Nginx의 점유율이 44%에 달한다.


Nginx의 역할

1. 정적 파일을 처리하는 HTTP서버로서의 역할

  • Nginx의 역할은 HTML, CSS, Javascript, 이미지와 같은 정보를 웹 브라우저(Chorm, Firefox 등)에 전송하는 역할을 준수함
    • HTTP 프로토콜을 준수

2. 응용프로그램 서버에 요청을 보내는 reverse proxy의 역할

  • client가 Nginx에 요청(Request)를 하면, Nginx가 배후 서버로부터 데이터를 가져오는 역할
  • 리버스 프록시(Niginx)를 두는 이유는 요청(request)에대한 버퍼링이 있기 때문
    • client가 직접 App서버에 직접 요청하는 경우, 프로세스 1개가 응답 대기 상태가 되어야 함
    • 따라서 proxy 서버를 둠으로써 요청을 배분하는 역할을 해야함
  • 비동기 방식을 취함
    • 동기 : A가 B에게 데이터를 요청했을 때, 이 요청에 따른 응답을 주어야만 A가 다시 작업 처리가 가능
      • 하나의 요청, 하나의 작업에 충실
    • 비동기 : A의 요청을 B가 즉시 주지 않아도, A의 유휴시간으로 또 다른 작업 처리가 가능


출처
  • http://whatisthenext.tistory.com/123

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유