Aria2離線下載服務器搭建環境:
- CentOS8
- 寶塔面板
- nginx_1.19
- php7.4以及相關依賴
下載地址:https://github.com/aria2/aria2/tags
安裝
創建目錄
mkdir /www/aria2c # 用來安裝aria2的路徑,自行選擇即可
將下載的文件上傳並解壓到目錄
cd /www/aria2c # 進入目錄
./configure --prefix=/www/aria2c # --prefix指定安裝目錄,如果提示報錯時沒有configuare,先執行autoreconf -iv,然后繼續執行編譯
make && make install # 編譯安裝
完成之后會在/www/aria2c目錄下面生成bin和share兩個子目錄。其中bin目錄下面的aria2文件就是二進制啟動文件。
配置
需要自行網上找到aria2c.conf配置文件,也可以參考我下面的配置。
復制保存到/www/aria2c下面
aria2c.conf的配置示例:
## 文件保存相關 ##
# 文件保存目錄
dir=/www/file/movie
# 啟用磁盤緩存, 0為禁用緩存, 需1.16以上版本, 默認:16M
disk-cache=32M
# 斷點續傳
continue=true
# 文件預分配方式, 能有效降低磁盤碎片, 默認:prealloc
# 預分配所需時間: none < falloc ? trunc < prealloc
# falloc和trunc則需要文件系統和內核支持
# NTFS建議使用falloc, EXT3/4建議trunc, MAC 下需要注釋此項
file-allocation=trunc
## 下載連接相關 ##
# 最大同時下載任務數, 運行時可修改, 默認:5
#max-concurrent-downloads=100
# 同一服務器連接數, 添加時可指定, 默認:1
# 官方的aria2最高設置為16, 如果需要設置任意數值請重新編譯aria2
max-connection-per-server=16
# 整體下載速度限制, 運行時可修改, 默認: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
# 最小文件分片大小, 添加時可指定, 取值范圍1M -1024M, 默認:20M
# 假定size=10M, 文件為20MiB 則使用兩個來源下載; 文件為15MiB 則使用一個來源下載
min-split-size=10M
# 單個任務最大線程數, 添加時可指定, 默認:5
# 建議同max-connection-per-server設置為相同值
split=16
## 進度保存相關 ##
# 從會話文件中讀取下載任務
input-file=/www/aria2c/aria2c.session
# 在Aria2退出時保存錯誤的、未完成的下載任務到會話文件
save-session=/www/aria2c/aria2c.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
# RPC端口, 僅當默認端口被占用時修改
# rpc-listen-port=6800
# 設置的RPC授權令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 選項
rpc-secret=WZS134125
# 啟動SSL
# rpc-secure=true
# 證書文件, 如果啟用SSL則需要配置證書文件, 例如用https連接aria2
# rpc-certificate=
# rpc-private-key=
## BT/PT下載相關 ##
# 當下載的是一個種子(以.torrent結尾)時, 自動開始BT任務, 默認:true
follow-torrent=true
# 客戶端偽裝, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 強制保存會話, 即使任務已經完成, 默認:false
# 較新的版本開啟后會在任務完成后依然保留.aria2文件
#force-save=false
# 繼續之前的BT任務時, 無需再次校驗, 默認:false
bt-seed-unverified=true
# 保存磁力鏈接元數據為種子文件(.torrent文件), 默認:false
# bt-save-metadata=true
# 單個種子最大連接數, 默認:55 0表示不限制
bt-max-peers=0
# 最小做種時間, 單位:分
# seed-time = 60
# 分離做種任務
bt-detach-seed-only=true
bt-tracker=udp://tracker.internetwarriors.net:1337/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.openbittorrent.com:6969/announce,udp://exodus.desync.com:6969/announce,udp://retracker.lanta-net.ru:2710/announce,udp://open.stealth.si:80/announce,udp://www.torrent.eu.org:451/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker.tiny-vps.com:6969/announce,udp://zephir.monocul.us:6969/announce,udp://wassermann.online:6969/announce,udp://vibe.community:6969/announce,udp://valakas.rollo.dnsabr.com:2710/announce,udp://u.wwwww.wtf:1/announce,udp://tracker0.ufibox.com:6969/announce,udp://tracker.zerobytes.xyz:1337/announce,udp://tracker.v6speed.org:6969/announce,udp://tracker.uw0.xyz:6969/announce,udp://tracker.theoks.net:6969/announce,udp://tracker.shkinev.me:6969/announce
創建aria2c.session會話文件和日志文件,后面可能會用到。
mkdir aria2c.session
mkdir aria2c.log
進程管理
我這里是使用systemctl進行管理
vim /usr/lib/systemd/system/aria2c.service
文件示例,相關目錄修改為自己的目錄。
[Unit]
Description=aria2c
Require=network.target
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
User=www
Group=www
GuessMainPID=yes
ExecStart=/www/aria2c/bin/aria2c --enable-rpc --rpc-listen-all -D --conf-path=/www/aria2c/aria2c.conf
ExecReload=/bin/kill -s QUIT $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
刷新systemctl緩存
systemctl daemon-reload # 刷新
systemctl start aria2c # 啟動
systemctl enable aria2c # 開啟啟動
注意事項
默認使用端口6800,還有6881-6999,需要放通防火牆,如果是雲服務器還需要放通安全組的端口,否則不能正常訪問。
驗證服務是否正常啟動
netstat -nltp # 查看端口是否啟用
ps -aux | grep aria2c # 查看是否進程正常啟動
好了,就到這里了,后面再把AriaNG面板安裝完進行管理aria2c,就可以24小時掛機下載了。
附:BT服務器更新列表
https://github.com/ngosang/trackerslist