VPS搭建離線下載服務(wù)器(后網(wǎng)盤時代)
動機
由于學習的需要,在國外某服務(wù)器廠商購買了vps服務(wù)(至于是哪個廠商就不說啦)。但是呢,就算用作梯子,一個月1T的流量總是用不完。最經(jīng)覺得自己營養(yǎng)充足,想找點電影看看。
無奈現(xiàn)在百度網(wǎng)盤的速度真的感人,一年的百度網(wǎng)盤超級會員貴得不要不要的,并且百度的離線下載并不是真的離線,他只是把自己服務(wù)器上有的文件拉給你而已。如果想找點稀缺的資源,百度網(wǎng)盤就是個雞肋啊,摔!
誒,那能不能利用vps來搭建自己的離線下載服務(wù)器呢?這樣既能利用多余的帶寬資源,又能提高下載速度,豈不美哉!帶著這個疑問,我在某個寂寞的晚上,開始了搭建。
搭建過程
機器配置
發(fā)行版:CentOS 6.9
RAM: 512M
CPU: 單核
帶寬: 1000Mbps
這個機器配置不算高,作為下載服務(wù)器也是綽綽有余了。
工具選擇
經(jīng)過一番搜索,選擇了作為部署的工具 transmission + vsftpd + nginx + aria2c。
- transmission, transmission-daemon: 作為種子、磁力的客戶端,作為離線下載的核心工具。
- vsftpd:用于搭建ftp, 來對文件下載文件進行管理(可憐的vps只有10G的磁盤空間 T_T)
- nginx :高性能的nginx用來作為靜態(tài)文件服務(wù)器。
- aria2c:多線程下載器,從nginx的展示的文件列表中高速下載我們離線好的文件。
部署實踐
1. 安裝transmission,修改配置并啟動服務(wù)
安裝transmission及transmission-daemon
$ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm
$ yum -y upgrade
$ yum -y install transmission transmission-daemon
修改配置并啟動transmission服務(wù)
在路徑/var/lib/transmission/.config/transmission 下的 settings.json 文件就是transmission的配置文件
里面有一大堆配置.我們需要修改下面的配置,這樣就可以使用遠程軟件對我們的tranmission進行操控
"rpc-authentication-required": true,
"rpc-enabled": true,
"rpc-password": "遠程調(diào)用的密碼",
"rpc-whitelist-enabled": false,
"rpc-username": "遠程調(diào)用的用戶名",
啟動transmission服務(wù)
$ sudo service transmission-daemon start
于是我們就能夠通過 http://host_ip:9091 進行訪問transmission服務(wù).進行了一下測試,速度還是可以的,峰值速度有30MB/s
另外我們還可以安裝 Transmission-Remote-GUI 來對transmission進行操控,而不用訪問頁面, Linux(Mint)下在應(yīng)用商店就能夠下載. 操作方式和uTorrent類似UI界面:
2. vsftpd 搭建ftp服務(wù)器
搭建ftp服務(wù)器并不是用來下載文件的,通過ftp下載文件發(fā)現(xiàn)速度奇慢.所以ftp服務(wù)器的作用是用來對文件進行管理的, 一般來說就是刪除操作.
安裝vsftpd
$ yum install -y vsftpd
我們使用Linux用戶來登錄,不使用虛擬用戶(因為要裝數(shù)據(jù)庫,麻煩)
因為vsftpd默認不允許使用root登錄所以我們要添加用戶
添加用戶
$ useradd ftpuser
$ passwd ftpuser
修改ftpuser的home目錄為transmission的下載目錄
$ usermod -d /var/lib/transmission/Downloads ftpuser
$ rm -rf /home/ftpuser
修改vsftpd配置文件(/etc/vsftpd/vsftpd.conf)
對配置文件如下:
# generate using cat vsftpd.conf | grep -v "#"
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ftpd_banner=Welcome to Private FTP service.
chroot_list_enable=NO
listen_ipv6=YESpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=/var/lib/transmission/Downloads
其中的配置 chroot_list_enable=NO表明不允許用處切換出home目錄.
啟動vsftpd
sudo service vsftpd start
這樣我們就能使用ftp對transmission下載的文件進行管理.
3. nginx 搭建靜態(tài)文件服務(wù)器
利用nginx作為靜態(tài)資源的服務(wù)器,提供已下載資源的展示
安裝nginx的操作網(wǎng)上有一堆教程.作為后續(xù)的填充.
主要說一說配置
在nginx的配置文件下(/etc/nginx/conf.d/default.conf)這么進行修改
autoindex on; autoindex_exact_size on; autoindex_localtime on; server { listen 8090; listen [::]:8090; server_name localhost; charset utf-8; location / { root /var/lib/transmission/Downloads; index index.html index.htm; }
啟動nginx服務(wù)就可以通過8090端口獲得文件列表了.
4. aria2c 下載文件
aria2c 用于從服務(wù)器上下載文件, 安裝于自己的機器上.
主要說一下怎么通過aria2c多線程加速下載
在aria2c中有幾個參數(shù)和多線程下載有關(guān)
參數(shù)x : --max-connection-per-server=<NUM>, 每個服務(wù)器最大的連接數(shù), 默認是1
參數(shù)s: --split=<N>, 指每個文件下載連接數(shù),默認5,-s受限于-x,如果s默認 x大于5時, x也會受限與s
所以對于大文件來說,將x和s參數(shù)適當提高能提高下載速度.
參考鏈接:
How To Install Transmission BitTorrent Client on CentOS 6
Linux下搭建ftp服務(wù)器
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。