웹서버와 WAS
결론적으로 Nginx 는 웹서버 (Web Server) 이고, 또 다른 웹서버로는 그 유명한 Apache 도 있다. 웹서버는 클라이언트가 (웹사이트에서) 무언가 요청하면 그에 대한 적절한 반응을 해주는 존재. 이런 웹서버와 항상 같이 등장하는 개념이 WAS (Web Application Server) 이다. 웹서버와 WAS 는 비슷해 보이지만 약간의 차이가 있다.
웹서버는 단순히 정적 파일 (static file) 을 응답하는 존재라면, WAS 는 동적 사이트를 전문적으로 처리하는 존재이다. 정적 파일은 말 그대로 멈춰있는 파일, 즉 이미지, html, css 등 변하지 않는 파일 그 자체를 가리키는 것이다. 반면, 동적인 처리는 클라이언트가 아이디, 패스워드를 넘겼을 때 하는 로그인 처리 또는 클라이언트 쿼리 파라미터에 따라 달라지는 DB 값 표시 등을 말한다.
웹서버를 별도로 운영하는 이유
웹서버를 별도로 운영하는 이유는 WAS 의 부담을 줄여주기 위함이다. 생각해보면 이미지, html, css 등 웹사이트 운영을 함에 있어서 기본적으로 변하지 않는 파일들은 굳이 동적인 처리를 하는 WAS 에서 담당할 필요가 없다. 다시 말해 클라이언트의 요청 중 웹서버가 처리할 수 있다면 WAS 까지 굳이 전달하지 않으면서 WAS 의 업무 비중을 줄여주는 것.
많은 웹서버 중에서도 Nginx 를 사용하는 이유