웹 서버 프로그램, 웹 브라우저에 데이터 전송하는 역할 담당
Apache, nignx와 같이 특정 인터넷 프로토콜(HTTP 등)을 기반으로한 웹서버를 동작할 수 있는 서버를 제공하는 소프트웨어들이 다양하게 존재한다.
우리가 node.js 및 AWS를 사용하면서 활용할 nginx 웹서버는, HTTP 프로토콜을 준수하면서 HTML(template), JavaScript과 같은 응답객체 및 데이터를 웹 브라우저에 전송하는 역할을 담당한다.
대용량 트래픽이 예상될 때는 nginx를 반드시 사용
AWS를 통해 배포된 서버에 수많은 동시 사용자가 접속할 경우가 생긴다면, 해당 서버는 nginx를 통한 데이터 전송이 이루어지도록 조치해야 한다.
기본적으로 리눅스 상 AWS 인스턴스들은 CPU 자원효율화를 위해 멀티스레드 방식(PM2 Package)으로 운영된다.
이때 각 서버 들이, 별도의 대기 상태 없이 다수의 사용자의 요청에 비동기적인(독립적인) 대응(응답)을 할 수 있도록 요청을 배분해주는 역할을 한다.
개념
https://whatisthenext.tistory.com/123
설치
https://twpower.github.io/39-install-nginx-on-ubuntu-by-using-apt-get-and-brief-explanation