aria2+ariang+nginx linux 离线下载部署

linux 配置Aria2+AriaNg

初衷

最近搞到一台老电脑,想做个linux桌面,最终选择了deepin,由于宿舍不断电,所以想用Aria2做一个离线下载,同时可以让宿舍所有人使用

注:本教程在,Debian系系统配置是通用的(Ubuntu,kali,Linux mint,deepin,,,,)

解释

  1. Aria2是一个linux下常用的命令行下载工具
  2. AriaNg 是一个简单易用的linux web前台,可以提供图形化的aria控制管理界面
  3. nginx 是一个高性能代理服务器

思路

装上aria,下载AriaNg,用nginx做个AriaNg的服务器让舍友都可以在局域网里访问

操作

先更新一下apt,

为了方便操作切换到root
su root
然后
apt-get update
apt-get upgrade

安装aria2

安装
apt-get install aria2
测试
aria2c -v
出现如下内容表示aria2正常

root@x-PC:/home/x# aria2c -v
aria2 版本 1.34.0
Copyright (C) 2006, 2017 Tatsuhiro Tsujikawa

本程序为自由软件;您可自由再版或修改它,惟须遵守 GNU 通用公共许可证,
第 2 版或更新版本(依您所愿)的条款,以自由软件基金会发布的版本为准。

我们本着希望有用的态度发行此软件,但 *从未做出任何保证*,甚至不暗示对
于适销性或对某一特定用途的适用性的保证。参见 GNU 通用公共许可证以获取
更多信息。

** 配置 **
已开启的特性: Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC
哈希算法: sha-1, sha-224, sha-256, sha-384, sha-512, md5, adler32
库: zlib/1.2.11 libxml2/2.9.4 sqlite3/3.23.1 GnuTLS/3.5.18 nettle GMP/6.1.2 c-ares/1.14.0
编译器: gcc 7.3.0
  built by  x86_64-pc-linux-gnu
  on        May 21 2018 12:16:40
系统: Linux 4.15.0-29deepin-generic #31 SMP Fri Jul 27 07:12:08 UTC 2018 x86_64

报告问题至 https://github.com/aria2/aria2/issues
访问 https://aria2.github.io/
root@x-PC:/home/x#
下载AriaNg

github下载页AriaNg下载
进入下载的目录,zip解压
unzip AriaNg-master.zip
在一个舒服的位置建立一个文件夹放置aria2相关文件
我的文件夹是/home/x/aria2/
在其中建立一个放置AriaNg的文件夹
我的文件夹是/home/x/aria2/AriaNg/
移动刚刚解压的文件夹AriaNg-master/scr/下的所有文件到你建立的/home/x/aria2/AriaNg/文件夹下

下载并配置nginx

下载
apt-get install nginx
测试
service nginx start
打开浏览器访问127.0.0.1可以看到

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

配置nginx
nginx的配置文件在

/etc/nginx/nginx.conf

如何配置nginx不在本次教程范围
修改我的代码中AriaNg文件夹位置 替换nginx.conf即可

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
}
http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_prefer_server_ciphers on;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    gzip on;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    
    server {
        listen 80;  #监听端口
        server_name 127.0.0.1 192.168.1.116;    #主机ip
        
        location / {
            root /home/x/aria2/AriaNg; #站点目录
            }
        }
 
}

测试
本机访问本机ip或127.0.0.1可以看到AriaNg页面
此时显示的aria2状态还是未连接

配置aria2

在aria目录下建立两个文件 aria2.conf aria2.session

编辑aria2.conf

## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ##
## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释  ##

## 文件保存相关 ##

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/home/x/Downloads
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
#file-allocation=none
# 断点续传
continue=true

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
#split=5
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
#max-upload-limit=0
# 禁用IPv6, 默认:false
#disable-ipv6=true
# 连接超时时间, 默认:60
#timeout=60
# 最大重试次数, 设置为0表示不限制重试次数, 默认:5
#max-tries=5
# 设置重试等待的秒数, 默认:0
#retry-wait=0

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/home/x/aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/home/x/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
#save-session-interval=60

## RPC相关设置 ##

# 启用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
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=你的密码
# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true
# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem
# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false
# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

以下4项需要修改
1.rpc-secret=你的密码把‘你的密码’改为你的密码即可
2.dir=/home/x/Downloads 将路径改为你的下载目录
3.input-file=/home/x/aria2/aria2.session改为你的aria2.session路经
4.save-session=/home/x/aria2/aria2.session改为你的aria2.session路经

配置AriaNg

浏览器打开127.0.0.1
打开‘AriaNg设置-PCR(127.0.0.1:6800)’将密码填入Aria RPC 密钥
刷新页面即可 此时将会显示===已连接===

aria2c –conf-path=/root/aria2/aria2.conf

October 18, 2018 12:46 AM

未完待续

    原文作者:iridescently
    原文地址: https://www.jianshu.com/p/8124b5b6ef95
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞