2019년 6월 19일 수요일

Nginx Fancyindex 를 사용해서 특정 디렉토리 안에 있는 파일들을 자동으로 list 하기

Nginx 에는 특정 디렉토리 안에 있는 파일들을 자동으로 list 해주는 기능이 있다.

아래처럼
autoindex on;
한줄을 입력하면 된다.

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;

autoindex on;
charset utf-8;
}

그런데 문제가, 너무 밋밋하다.


Nginx 에 fancyindex 라는 module 이 있다.
fancyindex 를 사용하면 덜 밋밋하게 나온다.

autoindex on 를 주석처리하고, fancyindex on 를 추가한다.

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;

#autoindex on;
fancyindex on;
charset utf-8;
}

Nginx 를 재시작하자.
% sudo service nginx restart

헐..... 에러가 난다.
확인해 보자.
% sudo journalctl -xe

-- Unit nginx.service has begun starting up.
Jun 17 17:24:16 raspberrypi nginx[32697]: nginx: [emerg] unknown directive "fancyindex" in /etc/nginx/sites-enabled/default:56
Jun 17 17:24:16 raspberrypi nginx[32697]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jun 17 17:24:16 raspberrypi systemd[1]: nginx.service: Control process exited, code=exited status=1
Jun 17 17:24:16 raspberrypi systemd[1]: Failed to start A high performance web server and a reverse proxy server.
-- Subject: Unit nginx.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit nginx.service has failed.

"unknown directive fancyindex" 라는 에러가 발생했다.
구굴링 해보니, module 이 없다는 에러다.

설치해보자.
% sudo apt-get install nginx-extras

Nginx 를 재시작하자.
% sudo service nginx restart


예쁘게 잘 나온다.

fancyindex_exact_size off 를 추가하면,
파일 사이즈도 보기 좋게 변경 가능하다.

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;

#autoindex on;
fancyindex on;
fancyindex_exact_size off;
charset utf-8;
}

이렇게 보기 좋게 바뀐다.


모바일에서 접속하면,
autoindex on 는 마치 PC 화면접속하듯이 나왔는데,


fancyindex on 는 모바일 환경에 맞춰서 나온다.




출처
https://www.nginx.com/resources/wiki/modules/fancy_index
https://scottlinux.com/2014/05/06/enable-fancyindex-for-styled-nginx-index-pages

댓글 없음:

댓글 쓰기

화곡 어쩌라고, 굴사냥

석화찜(굴찜)을 먹으러 여의도로 갔다 그런데 재료가 모두 소진되었다고 마감이라고 한다 응? 다들 굴에 미쳤나? 굴을 찾아 헤매다 보니, 화곡까지 가게 되었다. 화곡은 처음 가본다. 첫인상은 "술집 겁네 많네" 피똥쌀때까지 마실 수 있...