扫码阅读
手机扫码阅读

Nginx目录浏览并进行美化

32 2024-01-25

Nginx 作为一个高性能的 HTTP 和反向代理 web 服务器,默认不允许列出站点的整个目录,如果需要开启,可以通过配置打开此功能。

此功能一般作为在内网中提供下载文件等功能使用。

配置目录浏览

server {
    listen       80;
    index index.html index.htm;
    server_name dl.qq52o.me;
    root /home/lufei/downloads;
    autoindex on;  # 开启目录浏览功能
    autoindex_localtime on;  # 显示本地时间
    autoindex_format html;  # 输入格式,可选项为html、xml、json、jsonp
    autoindex_exact_size off;  # 显示精确字节大小还是显示友好可读的大小
} 

配置完成后重启Nginx,访问配置好的server_name即可看到效果,效果如下:

nginx-autoindex.png

美化目录浏览

Nginx自带的目录浏览功能看起来并不是那么美观,可以使用第三方模块ngx-fancyindex插件来美化目录浏览功能。

我使用的ubuntu,并且 Nginx 也是通过apt安装的

sudo apt install libnginx-mod-http-fancyindex 

所以我这里使用了此命令进行了安装,其他系统可以参考 README 进行安装。

安装完成后,启用fancyindex,修改刚才的配置文件

server {
    listen       80;
    index index.html index.htm;
    server_name dl.qq52o.me;
    root /home/lufei/downloads;
    fancyindex on;            # 开启索引功能
    fancyindex_exact_size off; # 关闭文件大小
    fancyindex_localtime on; #开启时间显示
    fancyindex_name_length 255; #最大名字长度
    fancyindex_time_format "%Y-%m-%d %H:%M:%S";
} 

重启以后就可以看到效果。

我选择了一个使用 Material Design 元素的响应主题。主题地址:https://github.com/fraoustin/Nginx-Fancyindex-Theme

拉取主题代码:

cd /home/lufei/downloads
git clone https://github.com/fraoustin/Nginx-Fancyindex-Theme.git fancyindex 

然后修改配置,加上主题配置:

fancyindex_header "/fancyindex/header.html";
fancyindex_footer "/fancyindex/footer.html";
fancyindex_ignore "fancyindex"; 

再次重启Nginx,就可以看到最终的效果了:

nginx-fancyindex.png

原文链接: http://mp.weixin.qq.com/s?__biz=MzAwOTgzNjY4MA==&mid=2247484476&idx=1&sn=a0134cc1f8a8bd514629a6c2e7e9c233&chksm=9b58c5dbac2f4ccd81bca0a4f478727e93f53b6b23b973ccf3a47b32bc41cfa1071189e9ab36#rd