前言

半个月前将博客迁移到一台大宽带服务器,带宽利用率太低,便想搭建一个公开的文件分享网盘。几经搜寻,选择了 ZFile ,它是一个在线文件目录程序,支持本地存储和多种对象存储,定位于个人网盘或者公开网盘。
站点示例:https://cloud.fondofeng.com
以下步骤普遍采用宝塔面板可视化操作, docker部署可以略过。

安装依赖

CentOS

yum install -y java-1.8.0-openjdk unzip

Debian/Ubuntu

apt update
apt install -y openjdk-8-jre-headless unzip

如为更新程序,则请先执行 ~/zfile/bin/stop.sh 停止命令和 rm -rf ~/zfile 清理旧程序,此过程不会删除数据文件。首次安装请忽略此选项。

下载 ZFile

wget -P ~ https://c.jun6.net/ZFILE/zfile-release.war
cd ~
mkdir zfile && unzip zfile-release.war -d zfile && rm -rf zfile-release.war
chmod +x ~/zfile/bin/*.sh

目录结构

├── zfile

── META-INF
── WEB-INF
── bin
    ── start.sh    # 启动
    ── stop.sh     # 停止
    ── restart.sh  # 重启

启动项目 ~/zfile/bin/start.sh
停止项目 ~/zfile/bin/stop.sh
重启项目 ~/zfile/bin/restart.sh

开放端口

默认启动端口为 8080,可前往宝塔面板安全内放行8080 端口。如需更改默认端口,可修改 /zfile/WEB-INF/classes/application.yml 文件,在#33行修改 port:8080

访问方式

如果仅作为个人网盘使用,则完全可以使用服务器 IP 加端口访问。
优点是部署简单,缺点是分享文件给他人时会暴露源站 IP ,有被攻击的风险,也不能通过 HTTPS 访问。

所以不管是自己使用还是作为公开网盘,都推荐使用反向代理通过域名访问。

如何配置域名访问

首先将域名 A 记录解析到服务器 IP ,等待生效后即可。例如 domain.com ,可以通过 domain.com:8080 访问;
如果直接使用域名 domain.com 访问,可将程序默认端口改为 80 。但要求必须为一级域名例如 baidu.com、google.com等,不能为 sb.baidu.com 这样的二级域名。(未经测试,测试补充)

如果为二级域名不带端口访问(一级域名也可),则可以通过反向代理实现。
首先还是要将域名 A 记录解析到服务器 IP ,等待生效。
以宝塔面板为例:
网站内点击添加站点,域名选择待访问二级域名,例如 sb.baidu.com ,其他选项默认即可,数据库可不创建。

然后添加反向代理,目标 url 为 http://127.0.0.1:8080 。

设置完毕便可以通过域名 sb.baidu.com 直接访问网盘。

配置安装

初次使用时需要对网盘进行驱动器配置。

http://IP:8080/#/admin # 管理页面

http://IP:8080/#/main # 前端页面

如果设置的域名访问,则为

http://domain/#/admin

http://domain/#/main

首先访问#管理页面,注册管理员账号密码,增加驱动器。以本地存储为例,填入存储文件路径启用即可:

至此所有工作已完成,可以通过 IP/域名访问你的个人网盘。

一些说明

1.增加 A 记录解析需要在 DNS 生效的服务商处增加。比如如果你在阿里云/腾讯购买的域名,后使用 cloudflare 的 CDN 服务,需要在 cloudflare 内增加域名解析。为了不泄露源站 IP ,推荐使用代理而不是仅 DNS 。

2.如果服务器带宽不足够大,可以在宝塔面板内启用站点流量限制流量。

如有其他问题,可在下方留言。

Last modification:April 17th, 2021 at 06:42 pm
如果觉得我的文章对你有用,欢迎赞赏。