Nginx 웹 서버를 사용할 때 특정 디렉토리의 인덱스 파일을 현재 디렉토리 및 하위 디렉토리의 파일 리스트로 출력하고 싶을 때가 있습니다.
일반적으로 Httpd 웹 서버를 사용할 때 인덱스 페이지를 디렉토리 목록으로 나타내는 방법과 같은 결과를 보입니다.
아래 사진은 파일 리스트를 출력한 결과의 예시입니다.
위와 같이 디렉토리 파일 리스트를 보여주고 싶을 때는 Nginx 설정 파일을 수정해주어야 합니다.
먼저 root 권한으로 터미널 텍스트 에디터를 사용하여 Nginx 설정 파일인 /etc/nginx/nginx.conf
파일(서버 환경에 따라 경로가 다를 수 있음)을 수정해보겠습니다.
[root@localhost ~]# vim /etc/nginx/nginx.conf
설정된 파일을 보시면 http
블록 내에 server
블록이 있을 것입니다. 여기에 location
블록을 만들어야 합니다.
location
블록에서 설정할 경로는 모든 디렉토리를 뜻하는 /
를 입력합니다. 결과적으로 다음과 같습니다.
... server { ... location / { } ... } ...
디렉토리 파일 리스트 옵션은 다음과 같이 설정해주어야 합니다.
autoindex on;
결과적으로 다음과 같이 보여질 것입니다.
... server { ... location / { autoindex on; } ... } ...
이번에는 특정 디렉토리에서만 리스트를 보여주고 싶은 경우가 있습니다. 예를 들면 document-list
디렉토리에서만 파일 리스트를 보여주게 하고 싶다면 다음과 같이 location
블록에 패턴을 넣어주시면 됩니다. (대략적인 예시는 다음과 같습니다.)
... server { ... location ~ ^/document-list/ { autoindex on; } ... } ...
이는 ^/document-list/
패턴에 해당하는 경로에 대해 autoindex
를 활성화한다는 의미입니다.
여기에 autoindex
옵션과 같이 사용할 수 있는 추가 옵션들이 있습니다.
off
를 입력하여 사이즈를 숨길 수 있습니다. 옵션값은 on
과 off
가 있습니다.html
이며 이외에도 xml
, json
, jsonp
형식으로도 나타낼 수 있습니다.on
과 off
가 있으며 off
로 지정하면 UTC 시간을 사용합니다.
추가 옵션을 사용한 예시는 다음과 같습니다.
... server { ... location ~ ^/document-list/ { autoindex on; autoindex_exact_size off; autoindex_format html; autoindex_localtime on; include fastcgi.conf; } ... } ...
이제 모든 설정이 완료되었다면 저장하고 터미널로 돌아옵니다. 설정 파일을 적용하려면 Nginx 서비스 설정을 다시 로드(reload
)하거나 서버를 재시작(restart
)해주어야 합니다.
[root@localhost ~]# service nginx reload
이제 해당 페이지의 디렉토리까지만 입력하여 적용이 완료되었는지 확인해봅니다.
Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…
INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…
리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…
JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…
NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…