尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
宝塔面板下Aria2安装配置与AriaNg部署完整教程
Aria2一直是我在Linux服务器上最常用的下载工具之一。它的体积很小跑起来几乎不占内存但下载速度却一点不含糊HTTP、FTP、BT、磁力链接都能处理还支持断点续传和多线程分块下载。平时我要在服务器上下个大文件、拉个安装包或者做离线下载基本都靠它。这篇东西就讲讲在宝塔面板环境下怎么把Aria2装好、配好再配一个网页管理界面让下载任务可以直接在浏览器里添加、暂停、查看进度。适合刚接触服务器的小朋友也适合已经装了宝塔但不想折腾命令行配置的老手。先说一个背景很多人用宝塔只是为了搭网站其实它自带的软件商店和文件管理能力用来装Aria2这种下载工具非常顺手。整个过程不需要你手动去编译源码大部分步骤通过面板点击和简单的命令就能完成。1. 为什么选择Aria2和宝塔面板的组合Aria2本身是个命令行工具没有图形界面。直接跑起来之后你是看不到下载列表的得通过RPC接口去控制它。这就带来一个问题新手装了之后完全不知道怎么用。所以实际使用中几乎都会搭配一个网页前端最常用的就是AriaNg浏览器打开就能操作任务列表、速度曲线、文件管理都很直观。宝塔面板在这里的角色非常明确提供了一键安装Aria2的能力省去手动编译依赖的麻烦内置的Nginx或者Apache环境可以直接用来托管AriaNg前端页面面板自带的文件管理器可以方便地查看、删除下载目录里的文件端口管理、安全组配置可以在面板里完成不用去啃防火墙命令如果你用的是面向外网的云服务器面板还能帮你快速申请SSL证书让AriaNg走HTTPS访问这套组合解决的最大痛点就是让Aria2从一个只有命令行功能的裸工具变成了一个可以随时随地通过浏览器管理下载任务的服务。手机、电脑、在家、在外只要有网络打开网页就能往服务器丢下载任务。另外一个经常被忽略的点宝塔面板默认使用www用户运行Web服务所以Aria2的下载目录最好也设置成www用户可读写这样AriaNg在删除文件、移动文件时就不会遇到权限报错。这个细节后面会展开讲很多人栽在这里。1.1 Aria2的核心能力和适用场景Aria2支持协议非常全HTTP / HTTPSFTP / SFTPBitTorrent种子Metalink它的下载效率靠的是多线程分块通俗点说就是将一个文件切成几个部分同时下载配合服务器端支持的分片速度提升非常明显。实测下来从国内的一些HTTP站点下载大文件速度能跑满带宽。典型的适用场景有这么几类服务器上需要下载软件安装包、镜像文件用Aria2比wget快不少做离线下载工具把种子、磁力链接丢给服务器下载下完再拉回本地下载大量资源到服务器做备份或归档断点续传非常关键配合NAS或软路由做成家庭下载中心我自己最常用的是前面两种场景。尤其是断点续传下载一个几个GB的镜像网络断开重连之后不用重新开始这个优势在弱网环境里简直救命。1.2 为什么不直接用宝塔自带的下载插件很多人在宝塔软件商店里看到过Aria2的入口但实际安装之后发现是个半成品能装但不好用。主要问题有这几个商店里的版本通常比较旧可能缺少一些新特性安装完成后没有提供完善的配置界面关键参数还得自己改配置文件有时候装了之后连AriaNg都没打包好你依然找不到管理入口版本和依赖可能跟当前系统不兼容装了跑不起来所以这篇教程用的是比较通用的方式先在宝塔环境下装好Aria2的二进制程序自己写配置文件再用systemd管理启动最后单独把AriaNg部署到Nginx站点里。这样每一步都在掌控中出了问题也好排查。2. 安装前的准备工作安装Aria2之前先把环境理清楚。准备工作做足了后面能省很多事。2.1 检查系统和磁盘空间Aria2本身非常轻量安装包都不到1MB运行时内存占用一般在20MB到50MB左右几乎可以忽略。所以对服务器最低配置没有太多要求1核1G的机器也能跑得很稳。但是下载目录的磁盘空间一定要提前看好。很多人装了Aria2之后随便设了个下载目录下载了几个大文件结果磁盘满了网站都挂了。建议用宝塔面板的磁盘监控或者系统自带命令先看一眼当前磁盘剩余情况df -h如果下载目录所在分区空间不够就得考虑把下载目录挂载到大容量磁盘上。比如你的数据盘挂在 /data 下面那么下载目录就可以设置成 /data/downloads而不是默认的 /root/downloads。另外下载文件的时候最好在面板里定期手动清理或者写个定时任务自动清理过期文件具体后面讲。2.2 规划端口和防火墙Aria2的RPC监听端口默认是6800这个端口必须对外开放否则你远程通过AriaNg连接不到Aria2。如果你要用BT下载Aria2还需要一个BT监听端口默认是51413这个端口可以自定义但不要在配置文件里留空。为了让BT下载更快BT端口最好也在防火墙里放行。在宝塔面板里操作路径是安全 → 防火墙 → 放行端口然后添加6800和51413这两个端口。如果你的服务器是云厂商的还要去云控制台的安全组里同样放行这两个端口。这里经常有人踩坑面板防火墙放行了但云安全组没放行结果端口依然不通。两个地方都要改记住了。2.3 创建下载目录和会话文件目录Aria2下载文件必须指定一个目录同时还有一个状态文件session用来记录下载任务以便重启后恢复。比较好的做法是专门创建一个目录来管理这些数据。假设我建在 /www/wwwroot/aria2 下面mkdir -p /www/wwwroot/aria2/downloads mkdir -p /www/wwwroot/aria2/configdownloads是下载目录config用来放aria2.conf文件和session文件。创建完之后顺便改一下权限让www用户能读写因为后面AriaNg删除文件要走www用户权限chown -R www:www /www/wwwroot/aria2为什么用/www/wwwroot而不是/root因为宝塔的Web服务默认运行在/www/wwwroot下文件权限更统一你也更容易通过面板的文件管理器直接管理这些文件。3. Aria2的完整安装流程这块是实操核心我一步步来命令都会贴出来。系统环境以常见的CentOS/Ubuntu为例宝塔面板当前版本都适用。3.1 安装Aria2本体最省事的方法是用包管理器直接装。CentOS系的可以用yum或dnfUbuntu/Debian系的用apt。先更新一下软件源# CentOS yum update -y # Ubuntu / Debian apt update -y然后安装Aria2# CentOS yum install aria2 -y # Ubuntu / Debian apt install aria2 -y装完之后验证一下版本aria2c --version如果输出带有一堆协议信息说明安装成功了。我这边实测安装过程非常快十几秒搞定不需要编译。有个别发行版可能没有预编译的aria2包或者版本太旧。这时候可以去GitHub上找静态编译的二进制包下载后解压放到 /usr/local/bin 目录下加执行权限就行。这种方式不依赖系统库兼容性很好还适合那些软件源里没有aria2的服务器。3.2 编写aria2配置文件这是最关键的步骤a单选参数决定Aria2能不能正常工作、能跑多快。我把我常用的配置直接贴出来每个参数都有注释。配置文件路径/www/wwwroot/aria2/config/aria2.conf# 基础设置 daemontrue # 以守护进程方式运行Aria2在后台运行不占用终端 # 下载目录 dir/www/wwwroot/aria2/downloads # 所有下载的文件默认保存到这个目录 # 会话文件 save-session/www/wwwroot/aria2/config/aria2.session continuetrue # 保存会话状态重启后可以恢复未完成的任务 # RPC设置 enable-rpctrue rpc-listen-alltrue rpc-listen-port6800 rpc-secret你的自定义密码 # 这个rpc-secret就是访问令牌AriaNg连接时需要填写 # 速度限制可选 # max-overall-download-limit0 # 0表示不限制总下载速度 # 下载相关 max-concurrent-downloads5 # 最多同时下载5个任务 max-connection-per-server16 # 单台服务器最多建立16个连接这里不要设太高太高反而可能被源站封 split16 # 单个文件切成16块下载 min-split-size1M # 每个分块最小1MB # BT相关 bt-enable-lpdtrue bt-max-peers80 bt-request-peer-speed-limit50K # 请求对等方速度限制防止连到太慢的对等方 seed-ratio0.0 # BT下载完成后做种比例0表示不主动做种 seed-time0 # 做种时间限制0表示不限制 # 日志设置 log-levelwarn log/www/wwwroot/aria2/config/aria2.log保存之后创建一个空的会话文件touch /www/wwwroot/aria2/config/aria2.session chown -R www:www /www/wwwroot/aria2有几个参数需要特别解释一下rpc-secret这是访问Aria2 RPC接口的令牌一定要设置并且设得复杂一点。如果不设任何能访问6800端口的人都能往你的服务器上丢下载任务下载什么想都想得到很容易把你的磁盘塞满或者下载一些不合规的东西。设置之后AriaNg连接时要填这个密码。max-connection-per-server这个值不是越大越快。很多服务器会限制同一个IP的并发连接数你设16或32性能相差不大但设太高反而会被源站封禁。split分块数也不是越大越好。小文件设置太多分块切分和合并的额外开销反而拖慢速度。3.3 手动启动并验证配置文件写好后先手动启动一次看看有没有报错aria2c --conf-path/www/wwwroot/aria2/config/aria2.conf如果配置没问题会看到Aria2在后台运行。检查一下进程ps aux | grep aria2如果你看到类似这样的输出说明Aria2已经跑起来了root 12345 0.0 0.1 23456 7890 ? S 12:00 0:00 aria2c --conf-path/www/wwwroot/aria2/config/aria2.conf再验证一下RPC端口是否监听netstat -tunlp | grep 6800输出显示6800端口在监听就正常了。3.4 设置systemd服务实现开机自启手动启动虽然能用但服务器重启之后Aria2就没了还得手动再跑一次。正规做法是写一个systemd服务单元让Aria2开机自动启动。创建服务文件vim /etc/systemd/system/aria2.service内容如下[Unit] DescriptionAria2 Download Service Afternetwork.target [Service] Typeforking Userwww Groupwww ExecStart/usr/bin/aria2c --conf-path/www/wwwroot/aria2/config/aria2.conf Restarton-failure LimitNOFILE65535 [Install] WantedBymulti-user.target注意几个地方Typeforking是因为aria2.conf里设置了daemontrueAria2启动后会把进程放到后台systemd需要知道这种启动模式User和Group设成www跟宝塔的Web服务保持一致文件权限不打架LimitNOFILE设得大一点因为下载任务多、连接数多时文件句柄不够用会导致下载失败写完保存然后重载systemd并设置开机启动systemctl daemon-reload systemctl enable aria2 systemctl start aria2检查服务状态systemctl status aria2显示active (running)就说明成功了。这里有一个细节如果你之前在终端里手动运行过aria2c现在用systemctl start可能会提示端口被占用。先把手动跑的进程杀掉再启动服务pkill aria2c systemctl start aria24. 部署AriaNg网页管理界面Aria2本身没有页面AriaNg是纯前端的项目不需要后端只要放到Web服务器里就能用。宝塔自带的Nginx或者Apache完全能胜任。4.1 下载AriaNg并部署AriaNg的静态文件可以在它的官方GitHub仓库里找到有个AriaNg.zip的发布包下载后解压即可。在终端里用wget直接下载比较快cd /www/wwwroot/ wget https://github.com/xxx/AriaNg/archive/refs/tags/1.2.3.zip我这里用xxx占位表示从官方发布的release页面获取的链接实际使用时建议到官方仓库的Release页面复制最新版本的下载地址。然后解压并改名unzip 1.2.3.zip mv AriaNg-* aria2-web现在你的网站目录里多了一个 /www/wwwroot/aria2-web 文件夹里面就是AriaNg的静态文件。如果unzip命令没装先装一下yum install unzip -y # 或 apt install unzip -y4.2 配置宝塔站点打开宝塔面板进入网站 → 添加站点域名可以不填或者填你的服务器IPPHP版本选择纯静态目录指向 /www/wwwroot/aria2-web。添加完站点之后确认站点的运行目录设置正确确保访问域名/IP时能直接打开AriaNg的index.html。如果只想局域网访问域名留空直接通过IP:端口访问。但如果你的服务器是在公网还是建议挂一个域名配SSL证书走HTTPS。宝塔的SSL申请功能用得上的话很方便证书自动部署不用手动改Nginx配置。我这里多说一句如果你直接用8000这种端口访问AriaNg注意宝塔面板的端口放行也要同步加。如果你走80/443端口则不需要额外放行。4.3 在AriaNg里连接Aria2打开浏览器访问你的AriaNg站点地址。首次打开时界面是英文的左侧菜单有Language设置切换成中文。在左侧菜单找到AriaNg设置填写RPC地址。格式是http://你的服务器IP:6800/jsonrpc协议类型选http然后填入你在aria2.conf里设置的rpc-secret密码。填完之后点重新加载或者刷新页面可以看到顶部状态变成已连接任务列表里开始有内容了。实测下来AriaNg连接Aria2的过程非常快基本秒连。如果连接失败多半是端口没放行、token填错这两个原因。5. 关键参数调优与安全设置装好能跑之后真正影响使用体验的是参数调优。这里我把实际使用中值得调整的参数都列出来分享具体配置思路。5.1 常用参数速查表参数推荐值说明max-concurrent-downloads3-5同时下载任务数太多会抢带宽max-connection-per-server16单服务器连接数过高会被封split16单个文件分块数16是性价比最高的rpc-listen-port6800RPC端口不要随意改bt-max-peers80BT最大对等方连接数max-overall-download-limit00为不限制需要限速可自行调整seed-time0做种时间0表示下载完成就不管了save-session-interval60会话保存间隔防止意外丢任务说实话很多网上流传的神配置把split和连接数设得非常夸张比如split64、max-connection-per-server64实际上普通家用服务器根本用不上反而会导致源站直接封禁你的IP磁盘IO被大量小分块拖垮内存和CPU占用飙升我在实际项目中做过对比测试同样一个1GB文件split16和split64的速度差异不到5%但CPU占用差了接近一倍。所以不要盲目堆参数。5.2 BT下载提速技巧使用Aria2下载BT资源时速度低的常见原因是DHT网络和Tracker列表不够丰富。Trackers一多才能更快找到其他用户。BT下载的Tracker列表时效性很强最好不要用网上拷贝下来的三年前的旧列表。建议定期从公开的Tracker资源站点更新一份tracker列表比如很多GitHub项目会维护每日更新的trackers.txt。配置方式在aria2.conf里添加bt-trackerudp://tracker1:80/announce,udp://tracker2:80/announce把tracker地址用逗号连接写在一起重启Aria2服务生效systemctl restart aria2还有一个容易被忽略的参数enable-dhttrue bt-enable-lpdtrue这两个是必须开的DHT是去中心化的节点发现方式LPD是局域网内发现。如果没开启BT下载可能完全找不到Peer。另外要让BT下载跑满带宽尽量把下载目录放在SSD上。机械硬盘做BT下载时大量并发读写的IOPS不够速度会被硬盘拖住。5.3 安全配置要点当你开放6800端口并且rpc-secret过于简单时很容易被人扫到端口后尝试连接。这类问题在公网服务器上发生几率不低。安全建议rpc-secret设置成至少16位随机字符串建议用密码生成器生成如果只在固定IP访问配置rpc-limit-allow-ip限制允许IP不建议把AriaNg和Aria2都暴露在公网把AriaNg的Nginx站点配置Basic Auth或者仅允许内网访问定期清空下载目录防止磁盘写满rpc-limit-allow-ip的配置方法rpc-limit-allow-ip你的固定IP这样只有这个IP能调用RPC接口其他IP全部拒绝安全性大幅提升。6. 常见问题与排查技巧实录装过这么多次Aria2我把最常遇到的坑都整理出来。你要是照着前面步骤操作大概率不会碰这些问题但真碰到了知道问题出在哪很重要。6.1 RPC连接失败或超时症状是AriaNg页面一直显示未连接或者连接超时。排查思路按顺序确认Aria2进程在运行systemctl status aria2确认6800端口在监听netstat -tunlp | grep 6800确认防火墙和云安全组都放行了6800确认aria2.conf里rpc-secret和AriaNg里填写的密码一致如果改了配置重启Aria2systemctl restart aria2九成以上的连不上都是这四个原因中的某一个。6.2 下载速度为0或无法启动如果任务是AA或已停速度一直为0可能是下面几种情况下载源不支持多线程切片尝试把split调小源站服务器限速或者你的IP被源站封了BT任务没有可用的PeerTracker列表太少防火墙拦截了BT端口导致连不上其他用户最烦的一种是源站限速有时候换成单线程下载反而速度更好。排查时在浏览器里直接访问下载链接测速对比Aria2的表现就知道是源的问题还是配置问题。6.3 下载目录文件权限不足症状是AriaNg里能添加任务但下载完成后文件删除不了提示权限不足。原因是下载的文件owner是root而AriaNg以www用户运行没有删除权限。解决方法把下载目录所有者改成wwwchown -R www:www /www/wwwroot/aria2/downloads chmod -R 755 /www/wwwroot/aria2/downloads所以前面讲创建目录时我就特别强调了权限设置很多教程没有说这一点导致后面一卡就走弯路。6.4 磁盘空间被下载文件占满Aria2下载大文件或BT资源时磁盘占用会迅速增长。很多人撞到服务器磁盘100%网站连同数据库一起崩了。我的建议是在宝塔面板设置一个每日定时任务检查磁盘使用率超过90%自动删除downloads目录下最老的文件或者常规设置自动清理超过N天未访问的文件在宝塔面板的监控里开启磁盘告警这是非常实用的一个建议Aria2本质是个下载工具下载的很多文件都是一次性使用的留着非常占空间。6.5 自启动不生效systemctl enable aria2之后重启服务器Aria2还是没起来。大多数原因是systemd服务文件里ExecStart路径写错了。用whereis aria2c看看实际路径修改服务文件里的路径。还有一种情况是重启后网络还没就绪加了Afternetwork.target还不够。可以在服务文件里加一行WaitForNetworkyes解决启动时机问题。6.6 下载的BT文件列表为空Aria2下载BT任务时有时候内容列表不显示文件只能看到元数据。这个一般是Tracker没有获取到完整的文件列表。强制种子的元数据下载需要开启bt-metadata-onlyfalse等待几秒到几分钟文件列表就会刷新出来。7. 一个更省心的目录清理方案最后分享一套我自己在用的下载目录管理思路虽然不算Aria2配置范围内的东西但实际体验提升明显。Aria2只负责把文件下载到指定目录它不会帮你管理磁盘空间。时间一长下载目录会积累大量的文件。我的做法是在宝塔面板的定时任务里加一个Shell脚本每天凌晨4点执行#!/bin/bash # 清理下载目录中超过7天的文件 find /www/wwwroot/aria2/downloads -type f -mtime 7 -exec rm -f {} \; # 删除空目录 find /www/wwwroot/aria2/downloads -type d -empty -exec rmdir {} \;这个脚本只清理超过7天没有被修改过的文件。如果你有任务想长期保留放到另一个目录就行不会被误删。如果你的下载任务特别多建议再配合一个磁盘空间检查脚本#!/bin/bash # 磁盘使用率超过90%时删除最老的文件 CURRENT_USAGE$(df / | tail -1 | awk {print $5} | sed s/%//g) if [ $CURRENT_USAGE -gt 90 ]; then find /www/wwwroot/aria2/downloads -type f -printf %T %p\n | sort -n | head -10 | cut -d -f2- | xargs rm -f fi用脚本的自动清理比我们手动去一个个点删除要省心得多。而且脚本逻辑简单改天你觉得自己需求不同直接改find条件就行。写在最后回想一下整个折腾Aria2的过程其实最值得说的一点就是把配置文件的每个参数搞清楚比复制一份大神的配置然后祈祷它能跑起来要靠谱得多。Aria2这个工具很成熟坑很少大部分问题都出在网络环境、权限和端口上。我个人实际用下来的体会是下载速度不如迅雷那么疯狂但胜在稳定、轻量、不流氓、不限速、没有广告还能直接放进宝塔管理配合AriaNg的网页界面用户体验已经到了可以日常使用的程度。如果你是在服务器上经常要下点东西或者在家里NAS上做离线下载这套方案完全可以当作长期主力来用。
RELATED

相关推荐

Linux多线程压缩工具选型与实战:xz、zstd、7z、lrzip性能对比

Linux多线程压缩工具选型与实战:xz、zstd、7z、lrzip性能对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/24 7:11:02
原生JS实现锚点定位与Tab跟随:滚动监听、性能优化与移动端适配全解析

原生JS实现锚点定位与Tab跟随:滚动监听、性能优化与移动端适配全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/24 7:11:02
PCA9422与PIC18F57K42低功耗电源管理方案设计与实践

PCA9422与PIC18F57K42低功耗电源管理方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/24 7:11:02
MORE NEWS

更多资讯

📰

GitHub访问加速:Git仓库瘦身与依赖缓存实践

团队里但凡有一个人接手过"祖传大仓库",大概都经历过这种场面:git clone敲下去,进度条卡在Receiving objects: 43%,然后你去泡了杯茶、回了两条消息、顺手把桌面文件整理了一遍,回来发现它还在 47%。更别提 …

📰

Power Query动态路径:参数表与CELL函数解决路径写死问题

表格发给同事,对方双击打开、点了一下“全部刷新”,结果满屏红色报错——这个场景我遇到过不止一次。十有八九不是公式写错了,也不是数据源坏了,而是 Power Query 查询里那行写死的Folder.Files("D:\...")在别人的电脑上…

📰

机器视觉+检测+三维成像:MVDIT 2026会议投稿价值与技术要点解析

这些年我一直关注机器视觉、检测与三维成像方向,每次刷到圈里人转发的EI会议推荐都会多看一眼。前阵子被问到2026年可以冲哪个会,我直接把MVDIT 2026这个会议拎出来说了一遍——机器视觉、检测与三维成像技术国际学术会议,主题很对口&#xf…

📰

纯C跨平台硬件信息采集与设备指纹实现

简介:面向需要在 Linux 与 Windows 下完成硬件信息采集的 C/C 开发者与学习者,这份小型代码包聚焦 CPU 序列号、硬盘序列号、网卡名称、IP 地址、MAC 地址以及网线连接状态的获取,可服务于系统监控、设备识别、故障排查和课程实验等场景。压缩…

📰

全桥LLC谐振变换器PFM+PSM混合控制Simulink建模详解

全桥LLC谐振变换器,一听这名字就知道不是个善茬。我最早接触它是在一个某项目的输出样机上,纯PFM(变频控制)跑了半个多月,发现一个特别搞心态的现象:额定负载附近效率漂亮得很,波形也干净&#…

📰

量化策略源码骨架解析:从回测到实盘的完整链路

简介:这份量化策略源码资源面向具备一定Python与机器学习基础的量化研究者、金融数据爱好者及策略开发初学者,围绕个股日线数据的采集、预处理、建模、评估与仓位管理,提供一套可本地复现的完整流程,帮助读者理解从原始行情到组合…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬