由于商业网盘的容量及限速等问题,使得在一些使用场景下实在一言难尽。个人云盘能够方便存储个人文档,特别是没有上传下载速度限制,可以灵活扩展容量,具有更好的私密性。当具有远程服务器(如 VPS)时,可以使用 FileBrowser 搭建个人云盘。结合 Nginx 实现个性化网页快速访问。下面分别介绍如何在远程服务器上安装 Nginx, filebrowser, 以及他们的配置。本篇以 Debian 11 为例,Ubuntu 系统类似, CentOS 系统需要切换相应命令,但一般是将 apt
更改为 yum
。
安装 Nginx
sudo apt update
sudo apt install nginx
安装 FileBrowser
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
配置 FileBrowser
# 创建配置数据库
filebrowser -d .filebrowser.db config init
# 设置监听地址 例如设置为: 127.0.0.1
filebrowser -d .filebrowser.db config set --address 127.0.0.1
# 设置监听端口,并需要打开端口 例如设置为: 8080
filebrowser -d .filebrowser.db config set --port 8080
# 修改显示语言 (中文)
filebrowser -d .filebrowser.db config set --locale zh-cn
# 设置日志文件
filebrowser -d .filebrowser.db config set --log /usr/local/filebrowser.log
# 设置登录用户和密码,--perm.admin 表示设置为管理员
filebrowser -d .filebrowser.db users add $USER$ $PASSWD$ --perm.admin
# 设置网址根路径
filebrowser -d .filebrowser.db config set --baseurl $FB_PATH$
# 查看配置信息
filebrowser -d .filebrowser.db config cat
# 帮助信息
filebrowser -d .filebrowser.db config --help
其中根据自己的个人信息设定,在用户和密码处替换 $USER$
和 $PASSWD$
字眼。根据自己的实际需求替换网址的根路径,例如,$FB_PATH$
替换成 /filebrowser
(下文以此为例)。之后需要设置服务器自启动命令
# 创建一个网盘根文件夹
mkdir -p /home/$USER/filebrowser
# 创建一个系统服务
sudo nano /etc/systemd/system/filebrowser.service
# 添加下面代码
[Unit]
Description=filebrowser daemon
After=network.target
[Service]
Type=simple
ExecStart=filebrowser -d /home/$USER/.filebrowser.db
User=$USER
Group=$USER
WorkingDirectory=/home/$USER/filebrowser/
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
指令中的网盘根文件夹、数据库 filebrowser.db
的地址根据自己实际情况而定。
# 加载 service
sudo systemctl daemon-reload
# 查看状态
sudo systemctl status filebrowser.service
# 启动 filebrowser
sudo systemctl start filebrowser.service
# 关闭 filebrowser
sudo systemctl stop filebrowser.service
# 设置开机自启
sudo systemctl enable filebrowser.service
# 查看是否设置开机自启成功
sudo systemctl list-unit-files| grep filebrowser
# 如果对service文件进行修改再次启动,请运行如下命令,重载服务
sudo systemctl daemon-reload
# c重启 filebrowser
sudo systemctl restart filebrowser.service
此时已经可以访问网页: http://vps_ip:8080
即可进入网盘界面登入用户信息查看目录 /home/$USER/files/
下的文件。
配置 Nginx
sudo nano /etc/nginx/nginx.conf
# 在 server 下添加如下内容
location /filebrowser {
client_max_body_size 2048m; # 2048m 标识上传最大文件大小 2G,单位 m 为兆字节
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8080;
}
# 注意这里的 /filebrowser 需要同配置 filebrowser baseurl 一致
如果申请了域名,可以如下设置
server {
listen 443;
server_name www.xxx.com;
root /home/xxx/html;
index index.php index.html index.htm;
}
# 其中 www.xxx.com 是域名,/home/xxx/html 是静态网页文件放置目录
# 注意,请打开 80、443 端口
设置 nginx 服务
sudo systemctl restart nginx
sudo systemctl status nginx
之后,就可以访问网址:https://www.xxx.com/filebrowser
打开个人云盘了。注意,进入后设置强密码。