Nginx를 활용해 웹 사이트를 배포할 수 있다. 이걸 보고 ‘Nginx가 웹 서버(Web Server) 역할을 한다’라고 얘기한다. 웹 서버(Web Server)가 뭔지 알아보자.
✅ 우리는 어떻게 네이버에 접속할 수 있는걸까?
웹 서버(Web Server)가 뭔지 이해하기 위해서는, 어떤 과정을 거쳐서 웹 사이트에 접속할 수 있는 지를 먼저 이해해야 한다.
네이버에 접속하기 위해 주소창에 www.naver.com이라는 주소를 입력한다.
그러면 www.naver.com이라는 웹 사이트를 찾아 들어가는 것처럼 느껴진다. 하지만 실제로 이렇게 작동하지 않는다.
www.naver.com 주소를 주소창에 입력하면 네이버 웹 사이트로 접속하는 게 아니라, 네이버 서버로부터 HTML, CSS, JS 파일을 다운받는 방식이다. 그리고 그 다운받은 파일의 코드를 브라우저가 해석해서 네이버 웹 사이트를 화면에 띄우는 것이다.
정말 그렇게 작동하는 지 개발자 도구를 열어서 확인해보자.
개발자 도구를 열어보니 실제로 HTML, CSS, JS 뿐만 아니라 다양한 이미지 파일들도 같이 다운받았다는 걸 확인할 수 있다. 웹 사이트를 띄울 때 필요한 파일들을 네이버 서버로부터 다운받아와, 브라우저를 활용해 웹 사이트를 띄우는 것이다.
✅ 웹 서버(Web Server)란?
위에서 네이버에 접속할 수 있는 방식에 대해 알아봤다. 네이버의 서버가 HTML, CSS, JS, 이미지와 같은 파일들을 사용자들이 다운받을 수 있게 제공하고 있었다.
이 예시를 기반으로 웹 서버(Web Server)의 의미를 정리해보자.
웹 서버(Web Server)는 사용자의 요청(www.naver.com으로 접속하는 행위)이 들어올 때마다 HTML, CSS, JS, 이미지와 같은 파일들을 제공하는 컴퓨터를 의미한다.
✅ Nginx의 웹 서버(Web Server) 기능
Nginx는 웹 서버(Web Server) 역할을 할 수 있다. 풀어서 설명하자면 Nginx가 사용자의 요청이 들어올 때마다 파일(HTML, CSS, JS, 이미지 등)을 제공할 수 있는 기능을 가지고 있다. 따라서 Nginx를 활용하면 웹 사이트를 배포할 수 있다.
Nginx를 설치하자마자 별도의 셋팅을 하지 않더라도 아래와 같은 웹 사이트가 뜬다. Nginx가 아래 페이지를 띄우는 데 필요한 HTML, CSS, JS 파일들을 제공하고 있기 때문이다. 즉, 이미 Nginx가 웹 서버(Web Server)의 역할을 하고 있는 것이다.