前言
之前我通过 Zfile 和 Nginx 进行搭配1,成功地搭建了一个云盘,我之前也想用 filegator 搭建,但它只支持 apache。
本来 Zfile 用的还行,简洁的风格用起来很舒服,但时间一久就出现了一些问题,比如生成直链后如果删除文件,直链还依旧会存在,时间依旧就堆积起来。
其次是它毕竟是一个独立软件,如果没有进行配置,每次服务器重启就需要重新启动,并且虽然有用户系统,但上传文件还是需要通过 FTP 服务。
也碰巧,最经从 Wordpress 转到了 Hexo,静态网站,就成我的一个比较喜欢的点,同时也想起来了一些之前看到的非常精简的资源网站:
这种精简到极致的网站,简直完美戳中我的 XP,根据我浅薄的经验,基本就断定这是 Nginx 的默认界面了,调查了一下,发现非常简单就能实现,下面就是我用 Nginx 做一个简单云盘的配置。
开启 autoindex
想要让 Nginx 开启目录索引需要进行文件配置,用来开启自带的 autoindex 模块:
vim /etc/nginx/sites-available/default
我这里使用的是我的子域名 pan.zodiaclab.top 作为演示,新增一段虚拟主机配置:
# File panserver { listen 80; server_name pan.zodiaclab.top;
root /var/www/pan;
# 开启 autoindex autoindex on; # 将 kB、MB、GB 作为文件大小,否则就是 bit 二进制大小 autoindex_exact_size off; # 启用服务器时间 autoindex_localtime on; # 将网页以 html 的形式进行展示 autoindex_format html;}
如果有其他需求,更详细的配置也可以参考官方文档2。
中文乱码
如果你按照我上面的进行配置,最后会得到如下画面:
显示结果中,中文是乱码的,这肯定不行,而这种问题,第一反映肯定是字符编码出了问题,换一下就行。
还是之前的 Nginx 配置文件,将配置修改为:
server { # 设定字符集为 utf-8 charset utf-8; ...}
配置完成并保存后,重启服务器:
service nginx restart
最终就能得到如下效果了:
fancyindex 主题
这里介绍一个 Nginx 索引目录的主题 fancyindex,原本是一个网友做的插件,后来被官方采纳了3。
I have compiled this module with NGINX 1.0.10 on a server running Debian Squeeze - however the README only talks about NGINX 0.8
但我大致看了一下官方文档4,虽然文档说明并没有进一步进行更新,只停留在了0.8,但有人成功在 1.0.10 以及 1.12.2 上成功编译了插件。
由于需要重新编译 Nginx 有一定风险,这里就单纯做个介绍,有兴趣的可以尝试。
有一说一,在重新设计之后,这东西是真能完成花来5。
总结
ok,简易云盘完成!
虽然从大众视角来看,可能这样的页面并不比 Nextcloud 或 Zfile 美观,但对我而言它却恰巧符合我的需求。
没有什么花里胡哨的东西,仅仅保留了一个网络云盘目录检索和基本下载的功能,完美!