linux · 2021年7月22日 0

Linux搭建aria2+Nginx实现离线下载


Aria2介绍

支持http/https 直链, ftp,电驴,磁力链接等等,可以配合云服务器+网页端UI实现离线下载。更详细的请Google。本文仅供学习与交流,请勿用于商业用途。

安装aria2c

Centos
需要先安装epel源 再安装aria2c

yum install epel 
yum updata
yum install aria2c

Ubuntu

sudo apt install aria2c

配置 Aria2
详细参考 http://aria2c.com/usage.html

mkdir /etc/aria2/
vim /etc/aria2/aria2.conf

# 文件的保存路径
dir=~/Download
# 断点续传
continue=true
# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

启动aria2

编写shell脚本
方便启动和关闭aria2

#!/bin/bash
case $1 in
start)
    aria2c --conf-path=/etc/aria2/aria2.conf &> /dev/null
    echo "aria2c is started"
;;
stop)
    sudo killall aria2c 
    echo "aria2c is stopped"
   ps -aux | grep aria2c 
;;
*)
    echo "pls input start | stop"
esac

安装Web UI

用别人大佬做好的 https://github.com/ziahamza/webui-aria2

wget https://github.com/straightedge4life/webui-aria2/archive/master.zip
unzip master.zip
cp -r webui-aria2-master /usr/share/nginx/html/

配置nginx

安装Nginx,步骤省略

编写子配置文件

server {
         listen 80;
         server_name nmsl.doragon.xyz;
         location / {
            root /var/www/aria2/;
              }
         }

启动nginx

systemctl start nginx

浏览器打开访问即可