본문 바로가기

침착하게 Study/서버

[AWS,Nginx] Nginx 기본적으로 알아야할 파일과 의미 해석

Nginx

 

 

Nginx의 기본적인 문법을 알아야 하는 이유 

일단, 기본적으로 우리가 설정해야 되는 값들이 있기 때문에, 어느 정도 기본문법은 숙지를 해야 합니다. 어디에 어떤 파일이 있는지를 알아야 우리가 직접 띄우려는 웹페이지들을 우리의 입맛대로 맞출 수가 있습니다. 

 

1. Nginx의 설정 파일 위치 

/etc/nginx/nginx.conf
  • Nginx에서 가장 근본이 되는 설정 파일입니다. ( root 파일이라고 생각하시면 편합니다 )
  • 전역적으로 설정이 되어야하는 내용이 들어있는 파일입니다. 
/etc/nginx/conf.d/default.conf
  • 기본 웹 서버 설정 파일 ( 우리가 가장 많이 수정을 해야 될 가장 중요한 파일입니다. ) 

 

 

2. 실습

 

우선 적으로 Nginx에 접속을 하고나서, 아래의 명령어를 쳐서 "etc/nginx" 폴더로 이동을 합니다. 

$ cd /etc/nginx

 

실습1

 

 

해당 폴더 하위에 있는 파일과 폴더들이 뭐가 있는 확인을 해줍니다. 우리가 원하는 파일이 있는지 확인을 하는거죠! 

확인을 해본결과  "nginx.conf" 파일과 "conf.d" 폴더가 보입니다. 

실습2

 

 

nginx.conf 파일 

일단, 가장 nginx의 근본이 되는 파일인 "nginx.conf" 파일을 확인해 보겠습니다. 

$ cat nginx.conf

실습3

 

 

이 파일은 nginx에서 전반적으로 설정되어야 하는 것을 여기서 설정해 주면 됩니다. 가장 기본적인 설정들이 있는 파일로 보시면 됩니다. 하지만 이 파일은 보통 수정할 일이 잘 없습니다. 그냥 아 ~ 이런 파일이 존재하는구나라는 것만 이해해 주시면 됩니다. 

 

실습4

 

 

이제, 우리가 nginx를 사용하면서 가장 많이 사용하게될 파일을 알아보겠습니다. 

 

defaut.conf 파일

먼저, "conf.d" 폴더 하위로 들어갑니다. 

$ cd conf.d

 

실습5

 

"conf.d" 폴더 하위에는 "default.conf" 파일이 하나 있습니다. 

우리가 가장 많이 수정을 하는 파일이죠ㅎㅎ

 

실습6

 

이제 vim 명령어를 사용하여, 파일을 한 번 확인해 보겠습니다. 

$ vim default.conf

실습7

 

 

 

기본적인 Nginx의 문법 해석 

기본적으로 어떤 것들이 있는지 확인해보면, 서버 포트랑 서버이름 설정, 그리고 어떤 페이지가 루트페이지로 나오게 하는지 서버에서 꼭 수정하고 확인해 되는 목록들이 있습니다. 

주석으로 막혀진 것들이 있지만, 이 부분은 참고만 하고 넘어가도 되겠습니다. 

 

 

 

아래는 주석을 제외하고 하나하나의 설명을 첨부 했습니다. 꼭 확인해 보시길 바랍니다. 

 

# server : '하나의 웹 사이트에 관련된 설정'을 관리하는 단위,
# 하나의 웹사이트에는 하나의 서버가 1:1 맵핑된다고 생각하면된다. ('server 블럭'이라고 부름)
server {
    # localhost:80으로 들어오는 요청을 이 server 블럭에서 처리하도록 설정
    # (server_name이 일치하는 server 블럭이 없는 경우 첫 번째 정의되어 있는 server 블럭을 기반으로 처리)
    # (아직은 정확히 몰라도 된다. 나중에 '멀티 도메인' 기능을 배우면 쉽게 이해할 수 있다.)
    listen       80;
    server_name  localhost;

    # / 으로 시작하는 모든 경로를 처리 (ex. /index.html)
    location / {
        # /jscode.html로 요청이 들어오면 /usr/share/nginx/html/jscode.html 파일로 응답
        root   /usr/share/nginx/html;
        
        # /로 요청이 들어오면 /usr/share/nginx/html/index.html로 응답
        # 만약 /usr/share/nginx/html/index.html이 없을 경우, /usr/share/nginx/html/index.htm으로 응답
        index  index.html index.htm;
    }

    # Nginx에서 500, 502, 503, 504의 상태 코드가 발생했을 때 /50x.html로 redirect
    error_page   500 502 503 504  /50x.html;
    
    # /50x.html과 완전히 일치하는 경로를 처리
    location = /50x.html {
        # /50x.html로 요청이 들어오면 /usr/share/nginx/html/50x.html 파일로 응답
        root   /usr/share/nginx/html;
    }
}

 

 

 

 

참고)

Inflearn(인프런) ‘비전공자도 이해할 수 있는 Nginx 입문/실전’ 강의