天天看点

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