-
[Nginx] Web Content Serving 알아보기 ( default.conf )Nginx 2024. 3. 18. 07:05728x90반응형
- 목차
들어가며.
이번 글에서는 Nginx 를 활용하여 웹 서버를 구성하는 방법에 대해서 알아보도록 하겠습니다.
xml, csv, 이미지 파일 등 여러가지 웹파일을 서빙하는 웹서버를 Nginx 로 구성할 수 있습니다.
Nginx 로 웹서버를 구성하기 위해서 Nginx 의 설정 파일을 수정해야하는데요.
default.conf 파일을 통해서 Nginx 웹서버 구성 방법에 대해서 알아보도록 하겠습니다.
Directive.
server block.
Nginx 의 default.conf 파일은 일반적으로 아래와 같이 구성됩니다.
server Block 은 Nginx 웹서버를 구성하기 위한 하위 디렉티브들을 포함하는 블록입니다.
server { listen 80; server_name _; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
listen 디렉티브는 Nginx 웹서버가 binding, listening 하게 될 포트 넘버를 설정합니다.
server_name 디렉티브는 _ 로 설정합니다.
server_name 디렉티브의 용도는 Nginx 에서 사용하는 Host 또는 Domain 이름을 지정하는 것인데요.
이번 글에서는 server_name 의 기능이 크게 필요하지 않으므로 _ 인 Empty Value 로 대체합니다.
location block.
location block 는 웹서버의 설정에서 가장 중요합니다.
location block 은 여러가지 Directive 들을 제공하는데요.
웹서버가 서빙하게 될 파일이 저장될 위치와 호스팅할 Pathname 을 설정합니다.
위 예시에선 Root Path ( / ) 를 /usr/share/nginx/html 디렉토리와 연결합니다.
그래서 "/" 를 prefix 로 가지는 모든 웹파일 요청은 "/usr/share/nginx/html" 하위 디렉토리의 파일을 서빙하게 됩니다.
index Directive 는 "/usr/share/nginx/html/index.html" 또는 "/usr/share/nginx/html/index.htm" 파일을 "/index" 요청과 바인딩합니다.
새로운 server Block 만들기.
image 파일들을 서빙하는 새로운 Directory 와 이를 연결하는 server Block 을 생성합니다.
아래와 같이 "/image/" Pathname 과 연결할 location Block 을 생성합니다.
디렉토리 주소인 "/usr/share/nginx/image" 와 Request Pathname 인 "/image" 을 연결하는 방법은 아래와 같습니다.
cat <<EOF> /tmp/default.conf server { listen 80; server_name _; location / { root /usr/share/nginx/html; index index.html index.htm; } location /image/ { root /usr/share/nginx; } } EOF
mkdir /tmp/image touch /tmp/image/test.jpg
docker run -d --name nginx \ -v /tmp/default.conf:/etc/nginx/conf.d/default.conf:ro \ --mount type=bind,source=/tmp/image,target=/usr/share/nginx/image/ \ -p 8080:80 nginx
Docker 를 활용하여 default.conf 와 이미지 파일을 추가한 Nginx Container 를 실행합니다.
그리고 http://localhost:8080/image/test.jpg 요청을 통해서 웹파일을 조회할 수 있게 됩니다.
반응형'Nginx' 카테고리의 다른 글
Nginx 구조 알아보기 (0) 2023.10.07 Nginx HTTP Upstream 알아보기 (0) 2023.09.16