环境简介
系统环境
Window 10 LTSC 2019 开启WSL
WSL 使用 Debian 发行版
Shell 环境
ZSH
将安装的软件版本
aria2  版本 1.30.0
AriaNg 版本 1.1.1
开始
安装aria2
首先进行aria2 的安装
1 | sudo apt install aria2 |
安装完成输入以下命令查看安装是否成功
1 | aria2c --version |
成功输出版本信息后,安装就完成了
配置aria2
安装是很简单的,配置aria2 却是有些棘手的,讲一下我自己的配置。
创建三个文件,分别用来保存aria2 的配置、会话和日志。
我这里在用户目录下建立文件夹,其实可以将配置目录放在Windows目录下,这样重新安装WSL的时候就无需重新创建编写配置文件了。
1 | cd |
完成后进行aria2 的配置,这里只记录我自己的配置,详细配置自行搜索查阅。
1 | # Log Options |
使用配置文件启动 aria2
1 | aria2c --conf-path /home/$LOGNAME/.aria2/aria2.conf |
!配置这个地方可能会有坑,如果配置文件写错了,这个命令可能没有任何报错就退出了,或者rpc没有成功开启。执行完这条命令后,在浏览器地址栏输入 http://localhoost:6800
如果出现404而不是未响应,说明rpc是正常开启了的(在没有其他进程占用6800端口的情况下),这里提及的端口号对应配置文件中的端口号rpc-listen-port
另外,我不知道aria2 有没有检查配置文件的命令,我是用笨方法排除错误,把配置文件的daemon=true 去掉然后使用配置文件启动aria2c,会提示错误信息的。如果没有提示,可以先把不重要的配置注释掉再次启动,rpc是一定要开启的,其他配置对我来说比较次要。
配置AriaNg
配置好aria2 可是如果每次下载文件都去执行命令,虽然很hacker,但并不是我想要的。我选择使用AriaNg来操作aria2 ,AriaNg是一个基于Web的arai2 前端。可以在github 的Release页面中下载AllInOne版本。
AllInOne 版本里面包含一个html文件,这就是我要的,我们直接双击打开在浏览器中查看。
当看到左侧菜单栏最后一条有已连接的绿色标志,表示链接成功。如果一致显示未连接,那可能是配置出了问题,应该仔细看看有没有正确配置aria2。
到这时候,我们已经能愉快的使用aria2了,但是,我还想完成两件事情。
我希望把AriaNg部署成Web服务,而不是直接在本地去打开html文件(这很不酷)
我希望每次开机的时候自动启动aria2c
配置静态文件服务
这里我将使用Nodejs来实现。
有关如何在WSL中安装Nodejs,请参考 Linux子系统(WSL)Debian安装Nodejs
安装好Nodejs 后,确定一下npm 命令。
1 | npm --version |
  建立一个目录存放静态页,将AriaNg(Index.html)文件放在该目录下,并cd 到该目录
当然,如果你使用nginx托管静态页,那可以直接看开机自启那部分
建立一个用于支持web服务的js文件。
1 | touch server.js |
编辑该文件输入以下内容并保存。
!server.js
1 | let express = require("express"); |
emmmm,现在还不能运行,需要装一下express 依赖包✔
1 | npm install express --save |
启动服务
1 | node server.js |
!这几个命令都是在最初建立的目录下完成的
当你看到终端输出Server start !,去浏览器输出http://localhost:8081,看是不是打开了AriaNg👌。
现在打开了静态页服务,不过它还是在终端下执行的,关掉终端后,静态页服务也就关了。
用Supervisor守护进程
首先安装Supervisor
1 | sudo apt install supervisor |
在我使用的debian中,安装后会在 /etc/supervisor 生成一个supervisord.conf文件和一个conf.d目录,我们可以在conf.d目录中建立配置。supervisord.conf文件中已经包含了它。不能保证使用的环境都是一样的,这里只是我自己的环境。
建立ariaNg 的supervisor配置文件
1 | cd /etc/supervisor/conf.d |
配置文件内容如下
!ariaNg.conf
1 | [program:ariaNg] |
启动supervisor
在启动supervisor前,可能需要建立ariaNg的日志目录
1 | sudo mkdir /var/log/ariaNg |
启动supervisor服务
1 | sudo service supervisor start |
查看下运行状态
1 | sudo supervisorctl status |
看到aria2Ng RUNNING 然后去浏览器访问一下确定是否成功。
使用supervisorctl 的过程中可能会报unix:///var/run/supervisor.sock no such file这个错误。不要慌。
可以先看一下ariaNg 的log文件,看看是哪个地方出了问题。
1 | cat /var/log/ariaNg/err.log |
如果是配置的问题,就去修改配置文件。
然后停止supervisor 服务,再次启动。
1 | sudo service supervisor stop |
当所有一切都配置好后,我们只需要在浏览器中就能使用aria2 了,不过,我还希望它们能在开机时自动启动。
开机自动启动aria2
我可不想每次开机都要打开命令行然后输入命令去启动aria2
1 | aria2c --conf-path /home/$LOGNAME/.aria2/aria2.conf |
废话少说,有关如何设置在WSL中开机自动启动服务的方法先去这看一下吧。
Linux子系统(WSL)中的服务开机启动配置好开机自启脚本后,只需要在init.wsl 中加入以下命令
1 | /etc/init.d/supervisor $1 |
搞定👏👏👏
最后
这大概就是我安装使用aria2 的整个过程了。