天天看點

BT伺服器的安裝和配置

BT是BitTorrent(比特流)的簡稱,BT的特點是使用者下載下傳的同時,也在為其它使用者提供上傳,是以不會像FTP伺服器那樣随着使用者數的增加而導緻下載下傳速度降低。恰恰相反,對于BT下載下傳而言,下載下傳的人越多速度越快。 BT下載下傳首先在第一個共享端(或稱為Downloader)把一個檔案分成N個部分,A使用者可以從Downloader上随機下載下傳第M個部分,B使用者可以在Downloader伺服器随機下載下傳第K個部分。而A使用者的BT用戶端下載下傳程式會根據情況從B使用者下載下傳第K個部分,同樣的,B使用者也可以從A使用者下載下傳第M個部分,通過這種方式減輕伺服器端負荷,加快使用者的下載下傳速度, 例如,C使用者直接從伺服器下載下傳,速度可能隻有幾Kbps,而從A、B使用者處下載下傳,速度将快很多。使用者在下載下傳的同時,也在上傳檔案,在享受别人提供下載下傳服務的同時,每個使用者也同時在上載并貢獻自己的帶寬,是以造成使用BT下載下傳服務的人越多,大家的速度就越快。BT下載下傳的優越性就在這裡展現,下面簡要介紹下BitTorrent的安裝,感謝胡帥哥的精彩分享…

一:安裝Python  

[root@jsb-ylw-5024 ~]# cd /usr/local/src/tarbag/  

[root@jsb-ylw-5024 tarbag]# wgethttp://downloads.activestate.com/ActivePython/releases/2.7.0.2/ActivePython-2.7.0.2-linux-x86_64.tar.gz  

[root@jsb-ylw-5024 tarbag]# tar -zxvf ActivePython-2.7.0.2-linux-x86_64.tar.gz -C ../software/  

[root@jsb-ylw-5024 tarbag]# cd ../software/ActivePython-2.7.0.2-linux-x86_64/  

[root@jsb-ylw-5024 ActivePython-2.7.0.2-linux-x86_64]# ./install.sh  

 Enter directory in which to install ActivePython. Leave blank and  

press 'Enter' to use the default [/opt/ActivePython-2.7].  

Install directory: /usr/local/python  

()  

Installing ActivePython to '/usr/local/python'...  

Relocating dir-dependent files...  

Pre-compiling .py files in the standard library...  

ActivePython has been successfully installed to:  

    /usr/local/python  

[root@jsb-ylw-5024 ActivePython-2.7.0.2-linux-x86_64]# ls /usr/local/python/  

bin doc include lib share  

[root@jsb-ylw-5024 ~]# env |grep PATH  

PATH=/root/bin:/usr/local/mysql/bin:/usr/local/python/bin/:/usr/local/rlwarp/bin/:/usr/local/java/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/  

bin:/usr/sbin:/usr/bin  

二:下載下傳,安裝BitTorrent  

[root@jsb-ylw-5024 tarbag]# wgethttp://download.bittorrent.com/dl/archive/BitTorrent-3.9.1.tar.gz   

[root@jsb-ylw-5024 tarbag]# tar -zxvf BitTorrent-3.9.1.tar.gz -C ../software  

 [root@jsb-ylw-5024 tarbag]# cd ../software/BitTorrent-3.9.1  

 [root@jsb-ylw-5024 BitTorrent-3.9.1]# python2.7 setup.py install  

[root@jsb-ylw-5024 BitTorrent-3.9.1]# ls /usr/local/python/bin/bt*  

/usr/local/python/bin/btdownloadcurses.py    /usr/local/python/bin/btlaunchmany.py      /usr/local/python/bin/btrename.py  

/usr/local/python/bin/btdownloadgui.py       /usr/local/python/bin/btmaketorrentgui.py /usr/local/python/bin/btshowmetainfo.py  

/usr/local/python/bin/btdownloadheadless.py /usr/local/python/bin/btmaketorrent.py     /usr/local/python/bin/bttest.py  

/usr/local/python/bin/btlaunchmanycurses.py /usr/local/python/bin/btreannounce.py      /usr/local/python/bin/bttrack.py  

三:啟動BT  

[root@jsb-ylw-5024 ~]# /usr/local/python/bin/python2.7 /usr/local/python/bin/bttrack.py --port 6969 --dfile /tmp/bttrack.log &  

[1] 22603  

[root@jsb-ylw-5024 ~]# ps -ef |grep python  

root     22670 22614 1 15:32 pts/1    00:00:00 /usr/local/python/bin/python2.7 /usr/local/python/bin/bttrack.py --port 6969 --dfile /tmp/bttrack.log  

root     22679 22614 0 15:32 pts/1    00:00:00 grep python  

[root@jsb-ylw-5024 ~]# netstat -ntpl |grep 6969  

tcp        0      0 0.0.0.0:6969                0.0.0.0:*                   LISTEN      22670/python2.7  

<a target="_blank" href="http://blog.51cto.com/attachment/201012/112616192.png"></a>

四:制作BT種子  

[root@jsb-ylw-5024 ~]# /usr/local/python/bin/btmaketorrent.pyhttp://192.168.50.24:6969/announce /root/resoucre/ubuntu.pdf  

 [root@jsb-ylw-5024 ~]# mv /root/resoucre/ubuntu.pdf.torrent /www/  

[root@jsb-ylw-5024 ~]# ln /root/resoucre/ubuntu.pdf /www/  

[root@jsb-ylw-5024 ~]# ll /root/resoucre/ubuntu.pdf  

 -rwxr-xr-x 2 root root 60334729 10-25 15:36 /root/resoucre/ubuntu.pdf  

[root@jsb-ylw-5024 ~]# /usr/local/python/bin/btlaunchmany.py --data_dir /root/resoucre/ --torrent_dir /www &gt; /dev/null 2&gt;&amp;1 &amp;  

[2] 23354  

[root@jsb-ylw-5024 ~]# ps -ef |grep python |grep -v 'grep'  

root     22670 22614 0 15:32 pts/1    00:00:00 /usr/local/python/bin/python2.7 /usr/local/python/bin/bttrack.py --port 6969 --dfile /tmp/bttrack.log  

root     23354 22614 0 15:42 pts/1    00:00:00 /usr/local/python/bin/python2.7 /usr/local/python/bin/btlaunchmany.py --data_dir /root/resoucre/ --torrent_dir /www  

五:下載下傳測試

<a target="_blank" href="http://blog.51cto.com/attachment/201012/112640666.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201012/112701986.png"></a>

六:自動生成種子腳本  

[root@jsb-ylw-5024 ~]# cat auto_bt_seed.sh  

 #!/bin/bash  

#function: auto generate bt seed ...  

#author: lw.yang  

#version: V.1.0  

MAKEBT=/usr/local/python/bin/btmaketorrent.py  

DOMAIN=http://192.168.50.24:6969/announce  

RESOURCE_DIR=/root/resource  

BTSEED_DIR=/www  

NUMBER=`ls $RESOURCE_DIR |grep -v resume |grep -v metainfo|wc -l`  

CONTENT=`ls $RESOURCE_DIR |grep -v resume |grep -v metainfo &gt; /tmp/1.txt`  

for (( i=1; i&lt;=$NUMBER; ii=i+1 ))  

do  

FILE=`sed -n "$i"p /tmp/1.txt`  

if [ ! -f $BTSEED_DIR/$FILE.torrent ] ;then  

$MAKEBT $DOMAIN $RESOURCE_DIR/$FILE  

ln $RESOURCE_DIR/$FILE $BTSEED_DIR  

/bin/mv $RESOURCE_DIR/$FILE.torrent $BTSEED_DIR  

fi  

done  

<a target="_blank" href="http://blog.51cto.com/attachment/201012/112733126.png"></a>

本文轉自斬月部落格51CTO部落格,原文連結http://blog.51cto.com/ylw6006/458067如需轉載請自行聯系原作者

ylw6006