NGINX 디렉토리 리스팅 설정으로 파일 공유하기

NGINX

NGINX는 아파치나 lighthttpd와 마찬가지로 가상 호스트 설정 항목인 server{ } 블럭에서 root로 설정한 디렉토리 내의 파일을 리스팅(Listing)해 파일을 다운로드 할 수 있는 디렉토리 리스팅 기능을 제공하고 있습니다.

디렉토리 리스팅 기능은 CentOS 리눅스 배포판 아카이브 페이지 같은 단순히 파일을 제공하는 용도일때 별도의 HTML 파일 없이 간편하게 구성할때 사용합니다.

NGINX Directory Listing 설정

user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
   worker_connections 4096;
   multi_accept on;
}
http {
   include /etc/nginx/mime.types;
   default_type application/octet-stream;
   server {
      listen 80;
      server_name localhost;
      root /var/www/html;

      location /files/ {
         root /var/www/html/files;
         autoindex on;
      }
   }
}

디렉토리 리스팅을 설정하는 방법은 위와 같은 설정 처럼 11~18번째 줄의 server 블럭의 files 디렉토리의 로케이션을 별도로 설정하고 root 디렉토리를 설정 후autoindex on; 구문을 넣어주면 끝입니다.

server {
   listen 80;
   server_name localhost;
   root /var/www/html;

   location / {
      root /var/www/html/files/;
      autoindex on;
   }
}

만일 루트 디렉토리 부터 리스팅 페이지를 만들고 싶다면 위처럼 가상 호스트의 root 디렉토리를 지정 후 location 블럭의 최상단에 root 디렉토리를 다시 지정한 다음 autoindex on; 설정을 하면 됩니다.

만일 server 블럭에 autoindex 설정을 할 경우 nginx 재시작시 오류는 없지만 디렉토리 리스팅이 되지 않습니다.

nginx directory listing 01 - NGINX 디렉토리 리스팅 설정으로 파일 공유하기

NGINX 설정 후 브라우저에서 접속하면 위처럼 설정한 디렉토리 하위를 파일 리스트 구조로 확인할 수 있습니다.

2 댓글. Leave new

  • 꿀팁 감사합니다.

    응답
  • 여기 서버 엄청 빠르네요!

    1. 아마존 라이트세일 서울리전 $5 인가요?

    2. 최적화 플러그인은 어떤 것을 사용하나요?

    3. 이미지는 CDN 서비스 이용 중이신가요? 혹시 어디 CDN 사용하시나요? 따로 CDN 사용 방법에 대한 내용도 알 수 있을까요?

    응답

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
유효한 이메일 주소를 입력해주세요.

nginx title 03
NGINX WebDAV 설정 방법
WebDAV(Web Distributed Authoring and Versioning)는 http를 이용해 웹서버에 저장되어 있는 파일을 여러 사용자가 편집하기 위해 고안된 프로토콜입니다. 실제로는 FTP 대용으로…
windows nginx php setting title
윈도우 NGINX PHP 연동 및 서비스 등록 방법
이전 포스트에서 윈도우에 NGINX를 설치하고 서비스에 등록하는 방법까지 알아봤는데요. NGINX를 개발 환경 또는 웹서버 환경으로 만들기 위해서 PHP를 설치해야 하는…