Nginx目录浏览功能

Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件或你要启用目录浏览虚拟主机的配置文件,在server或location 段里添加上autoindex on;来启用目录浏览,下面会分情况进行说明。
另外Nginx的目录浏览有两个比较有用的参数,可以根据自己的需求添加:
autoindex_exact_size off;
默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;
默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间
1、整个虚拟主机开启目录浏览
在server段添加
location / {
autoindex on;
autoindex_localtime on; #之类的参数写这里
}
2、单独目录开启目录浏览
2.1:直接二级目录开启目录浏览
location /down/ {
autoindex on;
}
2.2:虚拟目录开启目录浏览
location /down/ {
alias /home/wwwroot/lnmp/test/;
autoindex on;
}
详细参照:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html
示例配置如下
location / {   
        root /data/www/file                     //指定实际目录绝对路径;   
        autoindex on;                            //开启目录浏览功能;   
        autoindex_exact_size off;            //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;   
        autoindex_localtime on;              //开启以服务器本地时区显示文件修改日期!   
}  
需要注意root和alias的区别:
alias 设置的目录是准确的,可以理解为linux的 ln命令创建软连接,location就是软连接的名字。如上面2.2例子访问 http://域名/down/vpser.txt 是直接访问的/home/wwwroot/lnmp/test/下面的vpser.txt文件。
root 设置的目录是根目录,locatoin里所指定名称的目录,必须在root设定下的目录有相同名字的目录。如果将上面2.2例子里的alias改成root 访问 http://域名/down/vpser.txt 是直接访问的的/home/wwwroot/lnmp/test/down/ 目录下的vpser.txt文件。
需要注意的是alias目录必须要以 / 结尾且alias只能在location中使用。
如果想希望做出漂亮的目录列表,支持header,footer则可以安装三方插件:
http://wiki.nginx.org/NginxNgxFancyIndex
重启nginx,使其生效。
对中文目录的支持
 server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        charset utf-8;
#access_log  logs/host.access.log  main;
        access_log syslog:server=10.1.41.53:514,facility=local7,tag=nginx,severity=info;
        location / {
            #root html;
            root   /var/ftp/;
            autoindex on;                           # //开启目录浏览功能;   
            autoindex_exact_size off;               #//关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b>;   
            autoindex_localtime on;                 #//开启以服务器本地时区显示文件修改日期!   
            #index  index.php index.html index.htm;
         }
        }       
nginx默认的配置为charset koi8-r,导致显示中文有点乱码,修改为utf-8后正常
对比下apache的配置
< Directory  ”/data/www/file” >   
        Options Indexes                                               //开启目录列表索引模式   
        Order allow,deny   
        IndexOptions  NameWidth = 25   Charset = UTF -8     //设定文件名显示长度,文字字符编码   
        Allow from all   
     </ Directory >
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值