必须开启RPC服务、配好权限、挂上前端三者缺一不可;Debian/Ubuntu包管理器安装版本常过旧,推荐下载静态二进制包(如1.37.0),验证需含ENABLE_RPC;配置文件关键项:enable-rpc、rpc-listen-all、rpc-allow-origin-all、rpc-listen-port、rpc-secret。

直接装 aria2c 命令本身不等于能用 Web 界面——必须开启 RPC 服务、配好权限、再挂上前端,三者缺一不可。Debian/Ubuntu 用包管理器装的版本往往太旧(如 1.34),而 CentOS 7+ 默认源里压根没有,得自己动手。
怎么选安装方式:包管理器 vs 静态二进制 vs 编译
优先用静态二进制,省事且版本新。官方源码编译要装 gcc、autotools、libssl-dev 等一堆依赖,出错率高;包管理器(如 apt install aria2)在 Debian 12+/Ubuntu 22.04 上装出来是 1.36,但 CentOS 7 的 yum 只有 1.18,连 rpc-secret 都不支持。
- 推荐去 q3aql 的静态构建页 下载对应架构的
.tar.bz2包(比如aria2-1.37.0-linux-gnu-x86_64-build1.tar.bz2) - 解压后进目录执行
sudo make install,会把aria2c装到/usr/local/bin/ - 验证:运行
aria2c -v,输出里要有1.37.0和ENABLE_RPC字样才算支持 Web 控制
配置文件里最关键的 5 个 RPC 项
WebUI 连不上 90% 是这五项写错或漏掉。别抄网上过时教程里 rpc-user/rpc-passwd ——那套在 1.19+ 就被废弃了,现在只认 rpc-secret Token。
-
enable-rpc=true:不加这行,RPC 根本不启动 -
rpc-listen-all=true:监听所有网卡,否则只能localhost访问 -
rpc-allow-origin-all=true:不然浏览器跨域直接被拦 -
rpc-listen-port=6800:端口别用 80/443(冲突)、也别用 1–1023(需 root);6800 是 WebUI 默认值 -
rpc-secret=your_token_here:必须设,且 WebUI 设置页里“密码令牌”填的就是它,不是用户名密码
其他容易翻车的点:dir 目录要有写权限(chown -R $USER:$USER /path/to/download);save-session 文件必须存在且可写,否则断点续传失效。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
WebUI 部署:别 clone 到 /var/www/html 就完事
WebUI 本质是纯静态 HTML,但浏览器缓存和路径问题常导致“点了保存没反应”“设置页空白”。直接用 git clone 到 Web 根目录只是第一步。
- 确保 Nginx/Apache 已启用,并监听 80 端口;如果用了反代(如宝塔、Caddy),确认
location /指向的是 WebUI 的index.html所在目录 - 不要用
mv * ..这种粗暴操作——.git目录被移走后,后续升级困难;建议ln -s /path/to/webui-aria2 /var/www/html/aria2建软链 - 首次访问时,浏览器地址栏必须显式带
http://或https://,不能只输 IP;否则某些浏览器会当成本地文件打开,禁用 JS 导致界面瘫痪 - 连接设置里,“主机”填服务器公网 IP 或域名,**不是
localhost**(除非你在服务器本机开浏览器);“RPC 路径”留空或填/jsonrpc,别加多余斜杠
开机自启和进程守护的实际坑
用 systemctl --user 启动看似优雅,但在无图形环境的服务器上常失败——因为默认没启用 user session。更稳的方式是写系统级 service。
- 创建
/etc/systemd/system/aria2.service,内容里ExecStart必须带完整路径:/usr/local/bin/aria2c --conf-path=/etc/aria2/aria2.conf -
Restart=on-failure要加上,否则 Aria2 崩溃后不会自动拉起 - 如果配置了
rpc-secret,日志里出现Unauthorized错误,八成是aria2c进程读取的配置文件路径错了——用ps aux | grep aria2c看实际加载的--conf-path - 别信“改
/etc/rc.local就能开机跑”——现代 systemd 系统里rc.local默认不执行,得先systemctl enable rc-local
真正麻烦的从来不是装上,而是让 RPC 端口稳定开着、Token 不被浏览器缓存污染、session 文件不因权限问题丢任务——这些细节没盯住,WebUI 就是个摆设。

















