最近朋友买了一个私人网盘,可以用于资料的备份,也可以挂机下载,感觉还挺有趣的,自己也想折腾一下,利用树莓派搭载一个私人网盘,用于离线下载,折腾了半天终于弄好了,现在记录一下。
1.安装和配置Aria2
离线下载我们使用Aria2来实现,Aria2非常轻量级,且支持各种链接和种子下载,以及多线程下载。
安装
sudo apt-get install aria2
配置
我是在/home/pi/.config/aria2目录下存放的配置文件
mkdir /home/pi/.config/aria2
cd /home/pi/.config/aria2
touch aria2.conf
touch aria2.session
aria2.conf就是启动aria2的配置文件,
aria2.session用于保存退出时候未完成的一些会话任务等。
编辑aria2.conf ,往里面写入以下内容
里面很多内容都注释掉了,可以按照自己的需求进行修改。
#后台运行
daemon=true
## 文件保存相关 ### 文件的保存路径, 默认: 当前启动位置
dir=/media/pi/bear/download
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
#file-allocation=none
# 断点续传
continue=true## 下载连接相关 ### 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
#split=5
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
#max-upload-limit=0
# 禁用IPv6, 默认:false
#disable-ipv6=true
# 连接超时时间, 默认:60
#timeout=60
# 最大重试次数, 设置为0表示不限制重试次数, 默认:5
#max-tries=5
# 设置重试等待的秒数, 默认:0
#retry-wait=0## RPC相关设置 ### 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=<TOKEN>
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
其中如果想要使用远程ui界面的话,rpc的配置项目enable-rpc和rpc-listen-all要设置为true。
现在可以试试看使用配置方式启动aria2,看能否成功启动
aria2c --conf-path=/home/pi/.aria2/aria2.conf
若成功启动,输入如下命令
sudo systemctl status aria
会出现以下界面
2.配置开机启动
安装aria2成功之后需要配置开机启动,这样我们每次启动树莓派的时候就不需要手动去启动aria2服务了。
创建并编辑aria.service文件
sudo vim /lib/systemd/system/aria.service
往里面写入以下内容
[Unit]
Description=Aria2 Service
After=network.target[Service]
User=pi
Type=forking
ExecStart=/usr/bin/aria2c --conf-path=/home/pi/.config/aria2/aria2.conf[Install]
WantedBy=multi-user.target
设置开机启动
sudo systemctl daemon-reload
sudo systemctl enable aria
设置之后可以重启以下树莓派,然后再使用下面的命令查看下服务是否有启动。
sudo systemctl status aria
3.图形管理界面
当我们完成安装和配置了aria2之后,我们还需要一个界面,否则使用起来也太不方便了,
这里使用webui-aria2这个第三方的web界面,https://github.com/ziahamza/webui-aria2.git。
首先我们需要配置web服务,这里使用nginx,如果没有安装,可以现安装上,并启动nginx服务。
使用如下命令将webui-aria2下载到本地
cd /var/www/html/
git clone https://github.com/ziahamza/webui-aria2.git
然后在同一个局域网内,访问如下地址,树莓派的ip地址替换成你自己的树莓派的ip地址。
http://树莓派的ip地址/webui-aria2/docs/index.html
如果顺利,将会看到如下界面。
如果界面当中出现rpc连接失败等错误提示,可以查看一下aria2.conf配置是否写错。博主之前就是因为配置信息写错,一直导致网页提示连接失败的信息。
总结
这样子一个离线下载的环境就搭建好了,不过树莓派本身系统的sd卡容量有限,所以最好外接一个硬盘来充当下载盘,在配置文件当中更改以下下载路径就可以了。
下次再来总结下搭建私人网盘的方法。