Nginx의 기본적인 문법을 알아야 하는 이유
일단, 기본적으로 우리가 설정해야 되는 값들이 있기 때문에, 어느 정도 기본문법은 숙지를 해야 합니다. 어디에 어떤 파일이 있는지를 알아야 우리가 직접 띄우려는 웹페이지들을 우리의 입맛대로 맞출 수가 있습니다.
1. Nginx의 설정 파일 위치
/etc/nginx/nginx.conf
- Nginx에서 가장 근본이 되는 설정 파일입니다. ( root 파일이라고 생각하시면 편합니다 )
- 전역적으로 설정이 되어야하는 내용이 들어있는 파일입니다.
/etc/nginx/conf.d/default.conf
- 기본 웹 서버 설정 파일 ( 우리가 가장 많이 수정을 해야 될 가장 중요한 파일입니다. )
2. 실습
우선 적으로 Nginx에 접속을 하고나서, 아래의 명령어를 쳐서 "etc/nginx" 폴더로 이동을 합니다.
$ cd /etc/nginx
해당 폴더 하위에 있는 파일과 폴더들이 뭐가 있는 확인을 해줍니다. 우리가 원하는 파일이 있는지 확인을 하는거죠!
확인을 해본결과 "nginx.conf" 파일과 "conf.d" 폴더가 보입니다.
nginx.conf 파일
일단, 가장 nginx의 근본이 되는 파일인 "nginx.conf" 파일을 확인해 보겠습니다.
$ cat nginx.conf
이 파일은 nginx에서 전반적으로 설정되어야 하는 것을 여기서 설정해 주면 됩니다. 가장 기본적인 설정들이 있는 파일로 보시면 됩니다. 하지만 이 파일은 보통 수정할 일이 잘 없습니다. 그냥 아 ~ 이런 파일이 존재하는구나라는 것만 이해해 주시면 됩니다.
이제, 우리가 nginx를 사용하면서 가장 많이 사용하게될 파일을 알아보겠습니다.
defaut.conf 파일
먼저, "conf.d" 폴더 하위로 들어갑니다.
$ cd conf.d
"conf.d" 폴더 하위에는 "default.conf" 파일이 하나 있습니다.
우리가 가장 많이 수정을 하는 파일이죠ㅎㅎ
이제 vim 명령어를 사용하여, 파일을 한 번 확인해 보겠습니다.
$ vim default.conf
기본적인 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 입문/실전’ 강의
'침착하게 Study > 서버' 카테고리의 다른 글
[AWS,Nginx] Nginx 에러 페이지 수정 및 기본페이지 변경 (0) | 2025.03.14 |
---|---|
[vim] 개발자가 꼭 알아야 되는 vim 명령어 정리 (0) | 2025.03.10 |
[리눅스] 자주 쓰는 리눅스 용어 정리 (+) 리눅스 실습가능한 사이트 소개 (1) | 2025.03.02 |
[AWS,Nginx] AWS EC2 인스턴스에 Nginx 설치하기 (0) | 2025.03.01 |
[AWS] AWS EC2 생성 및 기본 셋팅 하기 (0) | 2025.02.28 |