Nginx는 동시접속 처리에 특화된 웹 서버 프로그램이다.
동시접속자(약 700명) 이상이라면 서버를 증설하거나 Nginx 환경을 권장한다고 한다.
웹서버의 역할은 HTML, CSS, Javascript, 이미지와 같은 정보를 웹 브라우저(Chrome, Iexplore, Opera, Firefox 등)에 전송하는 역할을 한다. (HTTP 프로토콜을 준수)
한마디로 말하면 클라이언트는 가짜 서버에 요청(request)하면, 프록시 서버가 배후 서버(reverse server)로부터 데이터를 가져오는 역할을 한다. 여기서 프록시 서버가 Nginx
, 리버스 서버가 응용프로그램 서버(nest.js, spring, etc…)
를 의미한다.
웹 응용프로그램 서버에 리버스 프록시(Nginx)를 두는 이유는 요청(request)에 대한 버퍼링이 있기 때문이다. 클라이언트가 직접 App 서버에 직접 요청하는 경우, 프로세스 1개가 응답 대기 상태가 되어야만 한다. 따라서 프록시 서버를 둠으로써 요청을 배분
하는 역할을 한다.
$ sudo apt-get install nginx
$ sudo apt-get remove nginx
$ sudo find / -name nginx.conf
user nginx; # (디폴트값 : www-data)
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;