Nginx服务器下配置使用索引目录的教程

为了简单共享文件,有些人使用svn,有些人使用ftp,但是更多得人使用索引(index)功能。apache得索引功能强大,并且也是最常见得,nginx的auto_index实现得目录索引偏少,而且功能非常简单。先来看看我们得效果图。

nginx配置

  location ~ ^/2589(/.*)
  {
    autoindex on; //开启
    autoindex_localtime on;//开启显示功能
  }

auto_index指令
语法: autoindex on | off;
配置段: autoindex off;
配置段: http, server, location

启用/仅用nginx目录索引功能.
语法: autoindex_exact_size on | off;
配置段:autoindex_exact_size on;
配置段: http, server, location

制定是否额外得显示文件得大小,单位为字节,mb,gb等等. 默认是打开得

syntax: autoindex_localtime on | off;

配置段: autoindex_localtime off;
配置段: http, server, location

指定是否显示目录或者文件得时间,默认是不显示。

nginx+fancy实现漂亮的索引目录
nginx索引目录自带的功能很简单,而且不好看,如何做一个漂亮的索引列表.接下来看.
安装环境
系统:centos 6.3nginx:1.4.2
fancy: http://wiki.nginx.org/NgxFancyIndex
下载安装fancy
对比一下nginx内置的index效果(上篇文章贴过来的图),如下

# wget http://gitorious.org/ngx-fancyindex/ngx-fancyindex/archive-tarball/master
# tar -xzvf master
# wget http://nginx.org/download/nginx-1.4.2.tar.gz
# tar -xzvf nginx-1.4.2.tar.gz
# cd nginx-1.4.2
# ./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../ngx-fancyindex-ngx-fancyindex
# make
# make install

fancy索引配置

server {
listen  80;
 server_name test.jb51.net;
 access_log /data/logs/nginx/test.jb51.net.access.log main;
index index.html index.php index.html;
 root /data/site/test.jb51.net;
location / {
}
 location ~ ^/2589(/.*)
 {
 fancyindex on;
 fancyindex_exact_size off;
 fancyindex_localtime on;
 fancyindex_footer "myfooter.shtml";
 }
 }

看看nginx加了fancy的效果,如下图.

比自带的好看多少,这个不好说...反正就是....变好看了点~

参数解释:
fancyindex on:开启fancy索引
fancyindex_exact_size off:不使用精确的大小,使用四舍五入,1.9M会显示为2M这样.如果开启的话,单位为字节
fancyindex_localtime on:使用本地时间
fancyindex_footer "myfooter.shtml":把当前路径下的myfooter.shtml内容作为底部.文件不存在底部会出现404
myfooter.shtml内容如下:

<!-- footer START -->
 <div id="footer">
 <a id="gotop" href="#" onclick="MGJS.goTop();return false;">回到顶部</a>
 <a id="powered" href="http://wordpress.org/">WordPress</a>
 <div id="copyright">
 版权所有 © 2006-2015 我们 </div>
 <div id="themeinfo">
 <a href="http://www.jb51.net/about/">关于我们</a> | <a href="http://www.jb51.net/sitemap.html">网站导航</a> | <a href="http://www.jb51.net/sitemap.xml">网站地图</a> |<a rel="nofollow" href="http://www.miibeian.gov.cn/">苏ICP备14036222号</a>
 </div>
 </div>
 <!-- footer END -->
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时间)

(0)

相关推荐

  • Nginx中的root&alias文件路径及索引目录配置详解

    root&alias文件路径配置 nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应.root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上. [root] 语法:root path 默认值:root html 配置段:http.server.location.if [alias] 语法:alias path 配置段:location 实例: loca

  • Nginx服务器中为网站或目录添加认证密码的配置详解

    nginx可以为网站或目录甚至特定的文件设置密码认证.密码必须是crypt加密的.可以用apache的htpasswd来创建密码. 格式为: htpasswd -b -c site_pass username password site_pass为密码文件.放在同nginx配置文件同一目录下,当然你也可以放在其它目录下,那在nginx的配置文件中就要写明绝对地址或相对当前目录的地址. 如果你输入htpasswd命令提示没有找到命令时,你需要安装httpd.如果是centos可以执行如下来安装,

  • nginx将泛解析的匹配域名绑定到子目录配置方法

    网站的目录结构为: # tree /home/wwwroot/exehack.net /home/wwwroot/exehack.net ├── bbs │   └── index.html └── www     └── index.html 2 directories, 2 files /home/wwwroot/exehack.net为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径:www为主页程序源代码路径:把相应程序放入上面的路径通过:http://www.

  • 在Nginx浏览器中打开目录浏览功能

    在nginx中不像apache默认是打开目录浏览功能的,在nignx中目录浏览功能默认是关闭了,下面我来介绍在nginx中实现目录浏览功能的配置方法. 打开nginx.conf文件,在location server 或 http段中加入 autoindex on; 另外两个参数最好也加上去: autoindex_exact_size off; 默认为on,显示出文件的确切大小,单位是bytes. 改为off后,显示出文件的大概大小,单位是kB或者MB或者GB autoindex_localtim

  • Nginx对某个目录设置密码保护例子

    有时不想某个目录被访问,所以要加密码之类来保护,以前用过的 Apache 好像很简单就实现目录加密.我用的是 Nginx,用了那么久 Nginx 还真没试过加密--参考了一些资料,然后发现这样就可以:(Debian系统,配置中"#......."表示后续还有其他配置)1. 配置网站(假如 yousite.com 放在 /home/www,然后要对 ooxx 目录加密) 复制代码 代码如下: server { listen 80; server_name yousite.com; roo

  • Nginx服务器中设置禁止访问文件或目录的方法

    在nginx要禁止某个或一类资源,只需要增加一个location,然后在其中使用deny all即可. 禁止访问扩展名为bat的文件,配置如下: location ~* /.bat { deny all; } 禁止访问configs目录,以及其下所有子目录或文件,配置如下: location ^~ /configs/ { deny all; } 注意上述configs后面的斜杠不能少,否则所有以configs开头的目录或文件都将禁止访问.

  • nginx禁止dedecms目录php执行权限

    复制代码 代码如下: location ~* ^/(data|uploads|templets|special|html|erwe)/.*\.(php|php5)${deny all;}

  • Nginx列出目录和文件并用密码控制访问权限配置方法

    这篇文章介绍怎样用web服务器列出指定的目录和文件,并对指定目录进行授权访问. 使用Nginx列出目录 准备工作 - 安装nginx和创建一些目录和文件: 复制代码 代码如下: $ sudo apt-get install nginx $ cd /usr/share/nginx $ mkdir web $ sudo mkdir directory{1,2,3} $ sudo touch file{1,2,3} $ ls directory1  directory2  directory3  fi

  • Nginx、Apache、Lighttpd禁止目录执行php配置示例

    为了加强网站安全性,我们除了限制目录权限外,还需要禁用某此目录禁止执行php.在IIS中可以直接将目录的脚本执行权限去掉,而针对非windows系统如何做呢? 接下来的文章将简单的介绍不同的webserver如何禁用php执行.... Apache: 复制代码 代码如下: <Directory /website/attachments>     php_flag engine off </Directory> Nginx: 禁用单个目录: 复制代码 代码如下: location /

  • Nginx 禁止访问某个目录或文件的设置方法

    复制代码 代码如下: location = /config/ { return 404; } location =/config.ini{ return 404; } 这样只能禁止访问 http://www.jb51.net/path/ 复制代码 代码如下: location = /path/ { return 404; } 禁止访问 http://www.jb51.net/path/test.php 复制代码 代码如下: location ^~ /test { deny all; } 可能te

随机推荐