Nginx Diretory Index - downgoon/hello-world GitHub Wiki
Nginx Diretory Index
需求背景
把一个文件目录,用nginx提供web浏览。最简单的方法是用nginx内置的autoindex
,如下配置:
server {
listen 80;
server_name localhost;
access_log logs/host.access.log main;
location /yunpan {
alias /var/data/yunpan;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
}
以上配置,就是把目录/var/data/yunpan
,以http://localhost:80/yunpan
的形式浏览目录。开关autoindex_localtime on
表示文件的时间,显示服务器本地时间(时区)。
但是autoindex
太丑了!开源的有个 fancyindex
的nginx module支持引用拓展的样式,比如Nginx-Fancyindex-Theme-master.zip
。
软件版本
- Nginx HTTP Server:
nginx-1.0.15.tar.gz
- Directory Index (Nginx Module):
ngx-fancyindex-0.4.1.tar.gz
- Directory Index CSS: Nginx-Fancyindex-Theme-master.zip
操作系统: CentOS 6.4
源代码安装
- 安装依赖
yum -y install pcre-devel openssl openssl-devel
- 编译安装fancyindex模块
$ cd nginx-1.0.15
$ ./configure --prefix=/usr/local/nginx --add-module=../ngx-fancyindex-0.4.1
$ make && make install
fancyindex 配置
假设我们需要展现的目录是/var/data/yunpan
,样式文件存放在/var/data/fancyindex
目录下。
- 首先把样式拷贝到fancyindex目录:
$ cp -R Nginx-Fancyindex-Theme-master/* /var/data/fancyindex/
- 接着添加fancyindex配置
server {
listen 80;
server_name localhost;
location /yunpan {
alias /var/data/yunpan;
fancyindex on;
fancyindex_localtime on; #on for local time zone. off for GMT
fancyindex_exact_size off; #off for human-readable. on for exact size in bytes
fancyindex_header "/fancyindex/header.html";
fancyindex_footer "/fancyindex/footer.html";
fancyindex_ignore "fancyindex"; #ignore this directory when showing list
}
location /fancyindex {
alias /var/data/fancyindex; # fancyindex css files
}
}