飞牛NAS部署Aria2:全能下载工具
前言
在 NAS 的日常使用中,下载功能是最核心的需求之一。虽然飞牛 NAS 自带下载中心,但如果你需要更灵活的下载控制、更好的 BT/磁力支持、或者想配合前端界面远程管理,Aria2 无疑是最佳选择。本文会带你从零开始在飞牛 NAS 上部署 Aria2,并搭配 AriaNg 实现图形化管理,让你轻松驾驭各种下载任务。
准备工作
在开始之前,请确保你已满足以下条件:
- 飞牛 NAS 系统已正常运行,并已开启 SSH 服务(在系统设置中开启)
- 拥有可登录 SSH 的账号(建议使用 root 或具有 sudo 权限的用户)
- 网络畅通,能够访问外网下载依赖包
- 已安装 Docker(飞牛 NAS 默认自带 Docker 环境)
方案选择:Docker 部署 vs 原生安装
Aria2 的部署方式有两种主流方案:
- Docker 部署:隔离性好,升级方便,配置迁移简单,推荐大多数用户使用。
- 原生安装:性能略高,但依赖管理麻烦,升级需手动处理。
本文以 Docker 部署为例,这也是飞牛 NAS 最推荐的方式。
第一步:创建 Aria2 数据目录
在 SSH 终端中执行以下命令,创建 Aria2 的配置、下载和日志目录。这里我约定将数据放在 /docker/aria2 下,你可以根据自己习惯调整。
sudo mkdir -p /docker/aria2/config
sudo mkdir -p /docker/aria2/downloads
sudo mkdir -p /docker/aria2/logs
其中 config 目录存放 Aria2 的配置文件,downloads 是下载完成后的存放路径,logs 记录运行日志。
第二步:编写 Aria2 配置文件
Aria2 的核心在于配置文件,合理的参数设置能大幅提升下载体验。创建一个名为 aria2.conf 的文件,写入以下内容:
sudo nano /docker/aria2/config/aria2.conf
将以下配置粘贴进去(可以根据需要修改部分参数):
# 基本设置
dir=/data/downloads
input-file=/data/config/aria2.session
save-session=/data/config/aria2.session
save-session-interval=60
log=/data/logs/aria2.log
log-level=warn
# 连接设置
continue=true
max-concurrent-downloads=10
max-connection-per-server=16
min-split-size=10M
split=16
# BT 设置
bt-enable-lpd=true
bt-max-peers=100
bt-request-peer-speed-limit=10M
seed-ratio=0
seed-time=0
bt-save-metadata=true
bt-tracker-interval=60
# RPC 设置(用于 AriaNg 连接)
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-secret=your_secret_password
rpc-listen-port=6800
# 磁盘缓存
disk-cache=32M
# 文件预分配
file-allocation=prealloc
重要提示:请务必将 rpc-secret 后的 your_secret_password 替换为你自己的强密码。这个密码用于 AriaNg 连接 Aria2,泄露可能导致他人控制你的下载任务。
保存退出(nano 中按 Ctrl+X,按 Y 后回车)。
第三步:启动 Aria2 Docker 容器
执行以下命令拉取并启动 Aria2 容器。这里使用 p3terx/aria2-pro 镜像,它非常轻量且配置友好。
sudo docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=10m \
-p 6800:6800 \
-v /docker/aria2/config:/data/config \
-v /docker/aria2/downloads:/data/downloads \
-v /docker/aria2/logs:/data/logs \
-e PUID=0 \
-e PGID=0 \
-e UMASK=022 \
p3terx/aria2-pro
命令说明:
-p 6800:6800:映射 RPC 端口,供 AriaNg 连接。-v参数将之前创建的目录挂载到容器内对应位置。PUID=0和PGID=0表示以 root 身份运行(飞牛 NAS 默认用户 uid 为 0),如果遇到权限问题可以调整。--restart unless-stopped确保容器在异常退出后自动重启。
启动完成后,可以通过 sudo docker logs aria2-pro 查看日志,确认是否正常运行。如果看到类似 Aria2 is ready! 的信息,说明启动成功。
第四步:部署 AriaNg 前端界面
命令行管理下载任务显然不够直观,我们需要一个漂亮的 Web 界面。AriaNg 是目前最流行的 Aria2 前端。
你可以选择在宿主机上部署 Nginx 来托管 AriaNg,或者直接用 Docker 运行一个现成的镜像。这里我推荐使用 Docker 方式,更省心。
sudo docker run -d \
--name ariang \
--restart unless-stopped \
-p 6880:6880 \
p3terx/ariang
启动后,在浏览器中输入 http://你的飞牛NAS IP:6880,即可看到 AriaNg 的界面。
第五步:配置 AriaNg 连接 Aria2
打开 AriaNg 页面后,点击左侧菜单的“AriaNg 设置” -> “RPC”,进行以下配置:
- Aria2 RPC 地址:填写
http://你的飞牛NAS IP:6800/jsonrpc - Aria2 RPC 密钥:填写你在
aria2.conf中设置的rpc-secret密码
点击“重新连接”,如果看到状态变为“已连接”,并且底部显示 Aria2 版本信息,恭喜你,配置成功!
进阶优化:添加 BT Tracker 列表
BT 下载速度很大程度上依赖 tracker 列表。我们可以让 Aria2 自动更新 tracker。在 aria2.conf 中添加以下行:
bt-tracker=udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce,...
但手动维护很麻烦,建议使用自动更新脚本。可以在宿主机的 cron 中设置定时任务,或者利用 Docker 的 restart 策略,但我更推荐一个更优雅的方法:在 AriaNg 的“设置”中,有一个“BT 设置”选项卡,可以粘贴一个动态生成的 tracker 列表(比如从 https://github.com/ngosang/trackerslist 获取)。不过每次重启 Aria2 后需要重新设置。
更持久的办法是在容器启动时注入环境变量。修改启动命令,添加 -e ARIA2_BT_TRACKER_URL=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt,但需要确保容器支持该变量。p3terx/aria2-pro 镜像支持此功能,你可以重新创建容器:
sudo docker stop aria2-pro
sudo docker rm aria2-pro
sudo docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=10m \
-p 6800:6800 \
-v /docker/aria2/config:/data/config \
-v /docker/aria2/downloads:/data/downloads \
-v /docker/aria2/logs:/data/logs \
-e PUID=0 \
-e PGID=0 \
-e UMASK=022 \
-e ARIA2_BT_TRACKER_URL=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt \
p3terx/aria2-pro
这样每次容器启动时会自动下载最新 tracker 并写入配置。
常见问题排查
问题1:AriaNg 连接不上 Aria2
检查防火墙是否放行了 6800 端口。飞牛 NAS 默认防火墙可能未开放端口,需要在“网络设置” -> “防火墙”中添加规则。或者临时关闭防火墙测试:sudo systemctl stop firewalld(不建议长期关闭)。
问题2:下载权限不足
如果你发现下载的文件无法被飞牛 NAS 的其他应用访问,可能是 uid/gid 问题。可以查看飞牛 NAS 默认用户的 uid(通过 id 命令),然后修改启动命令中的 PUID 和 PGID 为对应值。
问题3:下载速度慢
检查 tracker 是否有效,尝试更换公共 tracker。另外检查 max-connection-per-server 和 split 参数是否设置得足够大,对于热门资源,适当提高并发数。
总结
通过 Docker 部署 Aria2 + AriaNg,我们为飞牛 NAS 添加了一个功能强大、可远程管理的下载工具。相比自带下载中心,Aria2 支持更多协议、更精细的限速控制、以及通过 RPC 接口与各种第三方应用集成。整个部署过程只需几分钟,而且后续维护非常方便——升级镜像只需要 docker pull 然后重启即可。
现在,你可以安心地往 AriaNg 里添加各种下载任务,无论是 HTTP/FTP 直链、BT 种子还是磁力链接,Aria2 都能高效完成。配合飞牛 NAS 的文件管理功能,下载后的文件可以直接在 NAS 上分类、分享或播放。这正是自建 NAS 的乐趣所在:用开源工具组合出最适合自己的解决方案。