在云服务器上使用 aria2 并启用 RPC 下载服务

发布时间:2026/9/29 5:26:53
在云服务器上使用 aria2 并启用 RPC 下载服务 在云端服务器上利用 aria2 实现高速下载、断点续传与自动任务管理是一种常见方案。aria2 支持多协议下载并通过内置的 JSON-RPC 接口提供远程调用能力从而可以结合 Python 脚本自动解析网盘分享链接并生成下载任务。本文将以 CentOS 7 系统为例详细讲解如何安装并配置 aria2确保 RPC 服务可用以及如何验证并调试相关功能。文章目录环境准备与安装aria2 配置文件编写创建 aria2 systemd 服务单元防火墙与端口开放RPC 服务测试使用 curl 添加下载任务使用 Python 脚本添加下载任务常见问题与排查总结环境准备与安装需要在 CentOS 7 上安装 aria2。在 CentOS 7 中 aria2 包通常存在于 EPEL 仓库中因此需要先启用 EPEL 仓库。启用 EPEL 仓库并安装 aria2 执行以下命令启用 EPEL 仓库并安装 aria2。sudoyuminstallepel-release-ysudoyuminstallaria2-y安装完成后可以通过命令aria2c --version检查 aria2 版本确认程序已安装。aria2 配置文件编写aria2 默认不会启用 RPC 服务需要通过配置文件开启。下面提供一个示例配置文件建议存放在/etc/aria2/aria2.conf中。# 启用 RPC 服务并允许所有来源访问 enable-rpctrue rpc-listen-alltrue rpc-allow-origin-alltrue # 如需安全验证则设置访问密钥远程调用时须携带 token:your_secret_here rpc-secretyour_secret_here # 下载相关配置 max-concurrent-downloads5 continuetrue max-connection-per-server16 split16 # 指定下载目录与会话文件 dir/data/downloads input-file/etc/aria2/aria2.session save-session/etc/aria2/aria2.session save-session-interval60 # 日志文件便于排查问题 log/var/log/aria2.log确保/data/downloads目录已存在并赋予合适权限其中/etc/aria2/aria2.session文件如果不存在需要手动创建如果不需要 token 验证可删除或注释掉rpc-secret项但建议使用以保证安全。创建 aria2 systemd 服务单元为确保 aria2 后台自动启动并实现开机自启建议利用 systemd 管理 aria2 服务。在/etc/systemd/system/aria2.service中创建服务文件。[Unit] DescriptionAria2c Download Manager Afternetwork.target [Service] # 根据实际情况选择运行用户推荐使用专用用户 aria2若不存在需创建 Useraria2 Grouparia2 WorkingDirectory/data/downloads ExecStart/usr/bin/aria2c --conf-path/etc/aria2/aria2.conf Restarton-failure RestartSec5s [Install] WantedBymulti-user.target如果系统中尚无aria2用户则创建专用账户。sudouseradd-r-s/sbin/nologin aria2调整相关目录权限确保aria2用户对/data/downloads、/etc/aria2有读写权限。sudomkdir-p/data/downloadssudochown-Raria2:aria2 /data/downloadssudochown-Raria2:aria2 /etc/aria2最后重新加载 systemd 并启动 aria2 服务sudosystemctl daemon-reloadsudosystemctl start aria2sudosystemctlenablearia2在服务启动后可以执行sudo systemctl status aria2检查状态确认显示类似如下信息。● aria2.service - Aria2c Download Manager Loaded: loaded (/etc/systemd/system/aria2.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2025-03-10 10:11:56 CST; ... ago Main PID: 9374 (aria2c) CGroup: /system.slice/aria2.service └─9374 /usr/bin/aria2c --conf-path/etc/aria2/aria2.conf Mar 10 10:11:56 VM-0-11-centos aria2c[9374]: 03/10 10:11:56 [NOTICE] IPv4 RPC: listening on TCP port 6800 Mar 10 10:11:56 VM-0-11-centos aria2c[9374]: 03/10 10:11:56 [NOTICE] IPv6 RPC: listening on TCP port 6800显示状态为 active (running) 即表示服务已成功启动。防火墙与端口开放为确保远程设备能够通过 RPC 调用 aria2需要开放 6800 端口。检查防火墙是否允许 6800 端口访问。sudofirewall-cmd --add-port6800/tcp--permanentsudofirewall-cmd--reload若返回“Warning: ALREADY_ENABLED: 6800:tcp”说明该端口已开放。可通过命令检查。sudofirewall-cmd --list-ports应在列表中看到6800/tcp。同时如果服务器处于云平台如阿里云、腾讯云等还需检查云安全组规则确保 6800 端口对外开放。最后通过sudo netstat -tulnp | grep 6800检查 aria2 是否监听在0.0.0.0:6800确保所有 IP 均可访问。RPC 服务测试使用curl命令测试 aria2 RPC 服务是否可用。在远程或本机上执行以下命令注意 JSON 格式需要转义双引号curl-d{\jsonrpc\:\2.0\,\id\:\test\,\method\:\aria2.getVersion\,\params\: [\token:your_secret_here\]}-HContent-Type: application/jsonhttp://110.140.221.86:6800/jsonrpc如果返回如下 JSON 信息{id:test,jsonrpc:2.0,result:{enabledFeatures:[Async DNS,BitTorrent,Firefox3 Cookie,GZip,HTTPS,Message Digest,Metalink,XML-RPC],version:1.34.0}}则表示 RPC 服务已成功启用版本号为 1.34.0并且各项功能均正常工作。当 RPC 服务验证成功后可以通过远程调用添加下载任务。下面提供两种方式进行说明。使用 curl 添加下载任务执行以下命令添加一个下载任务以下载示例文件为例curl-d{\jsonrpc\:\2.0\,\id\:\test\,\method\:\aria2.addUri\,\params\: [\token:your_secret_here\, [\https://example.com/file.zip\]]}-HContent-Type: application/jsonhttp://110.140.221.86:6800/jsonrpc返回结果类似{id:test,jsonrpc:2.0,result:2089b05ecca3d829}任务 ID 表示任务已成功加入下载队列。使用 Python 脚本添加下载任务利用 Python 的requests库实现自动添加下载任务示例代码如下importrequestsimportjson# 远程 aria2 RPC 地址公网 IP 或域名ARIA2_RPC_URLhttp://110.140.221.86:6800/jsonrpcARIA2_SECRETtoken:your_secret_heredefadd_download(url):payload{jsonrpc:2.0,method:aria2.addUri,id:test,params:[ARIA2_SECRET,[url]]}headers{Content-Type:application/json}responserequests.post(ARIA2_RPC_URL,datajson.dumps(payload),headersheaders)returnresponse.json()# 测试添加下载任务download_linkhttps://example.com/file.zipresultadd_download(download_link)print(result)成功返回后会显示任务 ID说明任务已添加至 aria2 下载队列。常见问题与排查在部署使用aria2服务及RPC接口时常见的问题通常集中在系统用户权限、文件目录访问权限、以及RPC配置请求格式等几个方面。为避免以上常见问题应确保系统用户、工作目录、权限设置正确RPC 请求的 JSON 格式符合规范并正确转义。错误类型错误提示可能原因解决方法用户权限错误systemdstatus217/USER配置文件中指定的用户或用户组不存在检查并确保systemd配置文件中指定的User和Group存在并具备正确权限目录权限错误status200/CHDIR指定的工作目录不存在或无权限访问确保WorkingDirectory路径存在且运行用户有读写权限RPC连接错误无法连接RPCaria2 RPC未正确启动或端口未监听检查RPC是否启用并监听正确端口确保aria2.conf中的RPC配置正确并已开启用户权限问题status217/USER用户不存在或权限不够检查aria2运行用户确保其存在且对下载目录有读写权限RPC 请求错误JSONRPC解析错误JSON请求字符串未正确转义RPC请求中的JSON字符串必须正确转义如{\jsonrpc\: ...}总结本文详细介绍了如何在 CentOS 7 环境下安装与配置 aria2并通过 systemd 启动服务、配置防火墙、启用 RPC 服务以及通过 curl 和 Python 进行远程调用。按照本教程配置完成后aria2 RPC 服务即可在云端服务器上正常工作为自动解析网盘分享链接并添加下载任务提供可靠支持。希望本文能为相关项目提供清晰的技术指导和实践参考。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询