第四课 下载服务器

这一节我们来用树莓派搭建一个下载服务器,本来计划用迅雷的远程下载来做,但是迅雷的论坛用我的账号登陆总是失败,所以就换成了aria2

安装aria2

aria2是linux下的一个下载工具,它支持http、bt种子、磁力链接三种方式下载

sudo apt-get install aria2

配置aria2

aria2支持命令参数,也支持指定配置文件,这里我们使用指定配置文件参数的方式来启动。

mkdir .aria2
vim .aria2/aria2.config

添加下面内容

continue
#后台运行
daemon=true
#默认下载目录
dir=/home/pi/Downloads
#立即分配下载所需的空间对ext4支持最好
file-allocation=falloc
log-level=warn
max-connection-per-server=4
max-concurrent-downloads=3
max-overall-download-limit=200K
min-split-size=5M
enable-http-pipelining=true
#启用rpc调用接口
enable-rpc=true
rpc-listen-all=true
#rpc的访问密码
rpc-secret=123qwe
#保存下载会话
save-session=/home/pi/.aria2/aria2.session
input-file=/home/pi/.aria2/aria2.session

编辑好配置文件,我们还要做个创建个空白的会话文件。要不然,aria2在启动时会报打开会话文件失败的错误。

touch /home/pi/.aria2/aria2.session

然后我们测试下aria2是否启动成功

aria2c --conf-path=/home/pi/.aria2/aria2.config

ps aux|grep aria 看是否有进程启动,若有说明启动成功了。

设置aria2服务和开机启动

我们用的Raspbian系统是使用systemd来管理服务的,和最初init.d有一些差别,网上关于aria2的一些配置还都是使用init.d的方式去做的开机启动。所以,在这个地方我专门说下怎么在systemd下注册服务。

sudo vim /lib/systemd/system/aria.service

我们创建并编辑aria.service文件,并输入以下内容:

[Unit]
Description=Aria2 Service
After=network.target

[Service]
User=pi
Type=forking
ExecStart=/usr/bin/aria2c --conf-path=/home/pi/.aria2/aria2.config

[Install]
WantedBy=multi-user.target

设置开机启动

sudo systemctl daemon-reload
sudo systemctl enable aria

查看aria服务状态

sudo systemctl status aria

启动,停止,重启aria服务

#启动命令
sudo systemctl start aria
#停止命令
sudo systemctl stop aria
#重启命令
sudo systemctl restart aria

配置aria2下载的web界面

这里需要用到一个第三方的工具webui-aria2,这个是通过rpc接口来管理aria2下载的工具。

安装git和nginx

sudo apt-get install git nginx-light

下载webui-aria2

git clone https://github.com/ziahamza/webui-aria2.git

将webui-aria2放到nginx的/var/www/html/目录下,然后设置开机启动nginx

sudo mv webui-aria2/* /var/www/html/
sudo systemctl enable nginx

用浏览器访问树莓派:`http://192.168.31.11

然后点击设置 --> 服务器设置 --> 找到访问密码这项 --> 修改为上文配置的rpc访问密码:123qwe