从零开始搭建轻量开源资源站附五核心日常运维实操指南
时间:2026年06月06日 16:07:41
来源:易频IT社区
前期准备与环境搭建
必备前提
- 一台已配置静态公网IP或已开通DDNS的云服务器/物理服务器,系统选CentOS 7/8或Ubuntu 20.04/22.04 LTS(本文统一用Ubuntu 22.04 LTS)
- 已购买并解析好的域名(可选,但建议用)
- 本地电脑安装WinSCP(用于上传文件)和PuTTY/Xshell(用于SSH远程操作)
基础环境一键安装
打开PuTTY/Xshell,用root权限登录服务器后,依次执行以下三条命令:
```bash
更新系统软件源
apt update && apt upgrade -y
安装Nginx、PHP 8.2、MariaDB数据库及必要扩展
apt install nginx php8.2 php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-gd php8.2-xml mariadb-server mariadb-client unzip -y
启动并设置开机自启Nginx、PHP-FPM、MariaDB
systemctl enable --now nginx php8.2-fpm mariadb
```
搭建轻量开源资源站(选用FileBrowser)
FileBrowser是一款极简开源资源站工具,无需复杂数据库配置,支持多用户、在线预览、上传下载限速等。
第一步:下载并解压FileBrowser
```bash
进入Nginx默认站点根目录
cd /var/www/html
删除Nginx默认测试页面
rm index.nginx-debian.html
下载FileBrowser最新Linux amd64版本(截至202X.X.X地址有效,失效可去https://github.com/filebrowser/filebrowser/releases找对应架构)
wget https://github.com/filebrowser/filebrowser/releases/download/v2.27.0/linux-amd64-filebrowser.tar.gz
解压压缩包
tar -zxvf linux-amd64-filebrowser.tar.gz
删除压缩包,只保留filebrowser可执行文件
rm linux-amd64-filebrowser.tar.gz LICENSE README.md CHANGELOG.md
```
第二步:创建FileBrowser配置与数据目录
```bash
创建配置文件目录
mkdir -p /etc/filebrowser
创建资源存储目录(后续所有文件放这里)
mkdir -p /data/resources
创建数据库存储目录
mkdir -p /var/lib/filebrowser
给所有目录设置755权限(确保FileBrowser能读写)
chmod -R 755 /etc/filebrowser /data/resources /var/lib/filebrowser
给Nginx、PHP-FPM、FileBrowser相关用户设置权限
chown -R www-data:www-data /var/www/html /data/resources /etc/filebrowser /var/lib/filebrowser
```
第三步:初始化FileBrowser
```bash
进入可执行文件所在目录
cd /var/www/html
初始化配置文件(指定数据库路径、资源路径、监听端口)
./filebrowser config init -d /var/lib/filebrowser/filebrowser.db -r /data/resources -a 0.0.0.0 -p 8080
创建默认管理员账号(账号admin,密码请替换为你自己的强密码)
./filebrowser users add admin 你的强密码 --perm.admin
测试运行(访问http://你的IP:8080,输入刚才的账号密码能进入即为成功,成功后按Ctrl+C退出)
./filebrowser
```
第四步:配置Nginx反向代理(可选但强烈推荐)
反向代理可以用80/443端口访问,避免暴露8080,还能后续配置SSL证书。
1. 用WinSCP登录服务器,路径设为/etc/nginx/sites-available
2. 新建一个名为filebrowser的文件,粘贴以下完整配置(记得替换两处“你的域名”):
```nginx
server {
listen 80;
listen [::]:80;
server_name 你的域名;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
解决大文件上传超时问题
client_max_body_size 100G;
proxy_connect_timeout 3600s;
proxy_send_timeout 3600s;
proxy_read_timeout 3600s;
}
}
```
3. 保存后,回到PuTTY/Xshell执行命令:
```bash
创建软链接到sites-enabled目录(让Nginx加载该配置)
ln -s /etc/nginx/sites-available/filebrowser /etc/nginx/sites-enabled/
删除Nginx默认站点软链接
rm /etc/nginx/sites-enabled/default
检查Nginx配置是否正确
nginx -t
重载Nginx配置
systemctl reload nginx
```
第五步:配置Systemd服务(让FileBrowser开机自启)
1. 用WinSCP登录服务器,路径设为/etc/systemd/system
2. 新建一个名为filebrowser.service的文件,粘贴以下完整配置:
```ini
[Unit]
Description=FileBrowser
After=network.target
[Service]
User=www-data
Group=www-data
ExecStart=/var/www/html/filebrowser -d /var/lib/filebrowser/filebrowser.db -r /data/resources -a 0.0.0.0 -p 8080
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
```
3. 保存后,回到PuTTY/Xshell执行命令:
```bash
重新加载Systemd配置
systemctl daemon-reload
启动FileBrowser服务
systemctl start filebrowser
设置开机自启
systemctl enable filebrowser
查看服务状态(显示active(running)即为成功)
systemctl status filebrowser
```
五核心日常运维操作
核心操作1:定期备份数据库与资源文件
1. 用WinSCP登录服务器,路径设为/etc/cron.daily
2. 新建一个名为filebrowser_backup的文件,粘贴以下完整备份脚本(记得替换“你的备份邮箱”“你的备份压缩密码”,若不需要邮箱提醒可删最后一行):
```bash
!/bin/bash
备份目录
BACKUP_DIR=/data/backup
当前日期
DATE=$(date +%Y%m%d_%H%M%S)
创建备份目录(不存在则创建)
mkdir -p $BACKUP_DIR
备份FileBrowser数据库
cp /var/lib/filebrowser/filebrowser.db $BACKUP_DIR/filebrowser_$DATE.db
压缩资源文件和数据库(设置密码,避免泄露)
tar -zcvf $BACKUP_DIR/filebrowser_$DATE.tar.gz -C /data resources -C $BACKUP_DIR filebrowser_$DATE.db --password 你的备份压缩密码
删除单个数据库备份(只保留压缩包)
rm $BACKUP_DIR/filebrowser_$DATE.db
删除7天前的备份
find $BACKUP_DIR -name "filebrowser_.tar.gz" -mtime +7 -exec rm -f {} \;
邮箱提醒备份完成(需提前安装mailutils:apt install mailutils -y)
echo "FileBrowser备份完成:$BACKUP_DIR/filebrowser_$DATE.tar.gz" | mail -s "FileBrowser每日备份通知" 你的备份邮箱
```
3. 保存后,回到PuTTY/Xshell执行命令:
```bash
给备份脚本加执行权限
chmod +x /etc/cron.daily/filebrowser_backup
测试备份脚本(执行后看/data/backup目录是否有压缩包)
/etc/cron.daily/filebrowser_backup
```
核心操作2:修改默认管理员密码
```bash
进入可执行文件所在目录
cd /var/www/html
停止FileBrowser服务
systemctl stop filebrowser
修改密码(替换“你的新强密码”)
./filebrowser users update admin --password 你的新强密码
启动FileBrowser服务
systemctl start filebrowser
```
核心操作3:限制普通用户上传下载速度
1. 访问http://你的域名,用管理员账号登录
2. 点击右上角齿轮图标→用户管理→点击要限制的用户编辑按钮
3. 在上传限制(KB/s)和下载限制(KB/s)中输入数值(例如1024KB/s=1MB/s),点击保存
核心操作4:清理服务器磁盘空间
```bash
查看磁盘使用情况(重点看/dev/vda1这类系统盘/数据盘的使用率)
df -h
查看当前目录下各文件/文件夹大小(从大到小排序)
du -sh | sort -hr
清理系统缓存(不影响数据)
sync && echo 3 > /proc/sys/vm/drop_caches
清理已下载的apt安装包
apt clean
```
核心操作5:升级FileBrowser版本
```bash
停止FileBrowser服务
systemctl stop filebrowser
进入可执行文件所在目录
cd /var/www/html
备份当前可执行文件
mv filebrowser filebrowser_old
下载FileBrowser最新Linux amd64版本(替换成最新版本的地址)
wget https://github.com/filebrowser/filebrowser/releases/download/v2.27.0/linux-amd64-filebrowser.tar.gz
解压压缩包
tar -zxvf linux-amd64-filebrowser.tar.gz
删除压缩包和旧文件
rm linux-amd64-filebrowser.tar.gz LICENSE README.md CHANGELOG.md filebrowser_old
给新可执行文件加执行权限
chmod +x filebrowser
给文件设置权限
chown www-data:www-data filebrowser
启动FileBrowser服务
systemctl start filebrowser
查看版本是否更新成功
./filebrowser version
```