• 欧美亚VPS推荐网,同时启用新域名 eaavps.com

    Europe:欧洲

    America:美国

    Asia:亚洲

    VPS:Virtual Private Server 虚拟专用服务器

  • 搬瓦工 年付49.99美元/年的 CN2 GIA-E限量方案,值得你拥有,要买的速度。估计很快就会被卖完。

    https://www.eaavps.com/788.html

  • :grin:

    感谢大家支持,今天是个好节日,祝大家节日快乐,玩得开心!

nginx 列出目录

折腾笔记 涛哥 5年前 (2019-02-23) 1337次浏览 已收录 0个评论 扫描二维码

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 >

以宝塔面板下的NGINX为例,在站点的目录下建立一个DOWN的文件下,把你要公开下载的文件放进去。在配置里增加如下命令,效果如下图:

location /down/ 
{
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8,gbk;
}
nginx 列出目录
nginx 列出目录
nginx 列出目录

欧美亚VPS推荐网eaavps.com , 版权所有丨如未注明 , 均为原创丨
转载请注明原文链接:nginx 列出目录
本站的文章和资源来自互联网或者站长的原创。
如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。
欢迎加入QQ群:875883962 | 一起研究讨论交流心得,对发广告、潜水等会清理出群。
文明交流、拒绝非法信息。
喜欢 (0)
[pcghost@163.com]
分享 (0)
涛哥
关于作者:
不是从来就有,也不会永远存在。

您必须 登录 才能发表评论!