nginx不仅仅作为web站点使用,也可以当做一个文件共享的使用,索引目录列表提供用户下载文件。Nginx自带的目录浏览功能很简单,但看起来并不是那么的美观,我们可以使用ngx-fancyindex插件来美化目录浏览功能。
具体操作步骤:
下载及解压缩Nginx,我采用的是Legacy versions 1.6.3
# wget http://nginx.org/download/nginx-1.6.3.tar.gz
# tar -xzvf nginx-1.6.3.tar.gz
下载解压缩ngx-fancyindex安装包,
# wget https://github.com/aperezdc/ngx-fancyindex/archive/master.zip
上传到nginx-1.6.3目录下,如下
nginx-1.6.3/ngx-fancyindex-master
移除系统自带的Apache服务器
# apt-get remove apache2 apache2-*
安装Nginx前必要的准备工作
# apt-get install libpcre3 libpcre3-dev gcc g++ openssl libssl-dev make
注:CentOS系统请执行下面的命令
# yum -y install gcc gcc-c++ autoconf automake make zlib zlib-devel openssl openssl–devel pcre pcre-devel
编译及安装ngx-fancyindex插件
# cd nginx-1.6.3
# ./configure --prefix=/usr/local/nginx-1.6.3 --add-module=./ngx-fancyindex-master
# make
# make install
查看一下获取Nginx-Facncy index配置是否成功
/usr/local/nginx-1.6.3/sbin/nginx -V
配置ngx-fancyindex插件
在.conf文件中添加如下:
location /{
fancyindex on;
fancyindex_exact_size off;
fancyindex_localtime on;
fancyindex_footer /footer.html;
fancyindex_header /header.html;
fancyindex_ignore footer.html header.html;
}
启动Nginx及重载Nginx的命令
/usr/local/nginx-1.6.3/sbin/nginx
/usr/local/nginx-1.6.3/sbin/nginx -s reload
补充说明一下,fancy官方说fancy插件可以运行于0.7以上版本,但本人水平有限编译不成功。
参数解释:
fancyindex on:开启fancy索引
fancyindex_exact_size off:不使用精确的大小,使用四舍五入,1.9M会显示为2M这样.如果开启的话,单位为字节
fancyindex_localtime on:使用本地时间
fancyindex_footer "myfooter.shtml":把当前路径下的myfooter.shtml内容作为底部.文件不存在底部会出现404.
如果需要自定义footer.html和header.html文件,你可以需要修改ngx-fancyindex-master/template.h并重新编译安装Nginx。
fancy指令使用:
fancyindex
语法: *fancyindex* [*on* | *off*]
默认值: fancyindex off
配置块: http, server, location
描述: 开启/关闭目录索引功能
fancyindex_css_href
语法: *fancyindex_css_href uri*
默认值: fancyindex_css_href ""
配置块: http, server, location
描述: 外置css路径,这个css将会替代掉现有的css样式。如果你会css,那你可以把索引列表做得更加漂亮.咱们ttlsa没有网页设计师,所以只能用自带的了^^
fancyindex_exact_size
语法: *fancyindex_exact_size* [*on* | *off*]
默认值: fancyindex_exact_size on
配置块: http, server, location
描述: 定义如何显示文件的大小,默认是on,on:文件大小使用精确值,单位为字节.off:单位为KB,MB,GB,如果含有小数点,将会四舍五入。例如1.9MB,将会显示为2MB。
fancyindex_footer
语法: *fancyindex_footer path*
默认值: fancyindex_footer ""
配置块: http, server, location
描述: 指定哪个文件嵌入到索引页面的底部,效果请看本文的第一张图片
fancyindex_header
语法: *fancyindex_header path*
默认值: fancyindex_header ""
配置块: http, server, location
描述: 指定哪个文件嵌入到索引页面的头部.用法和fancyindex_footer类似
fancyindex_ignore
语法: *fancyindex_ignore string1 [string2 [… stringN]]*
默认值: No default.
配置块: http, server, location
描述: 哪些文件/目录隐藏掉,如果你的nginx支持正则,那么可以使用正则表达式来过滤
例如我想隐藏dir打头的文件或目录以及文件filea.txt,配置如下:
fancyindex_ignore "dir*" "filea.txt"
fancyindex_localtime
语法: *fancyindex_localtime* [*on* | *off*]
默认值: fancyindex_localtime off
配置块: http, server, location
Description: 使用当地时间显示文件的创建时间,默认是off(GMT时间)
hostloc的老兄你好,我想求份template.h,可以打包发我邮箱吗。先谢谢你了。