首页 > 在Ubuntu 14.04 64bit上编译安装xbt tracker

在Ubuntu 14.04 64bit上编译安装xbt tracker

下文参照如下链接,只是记录了我的所有实际安装过程,仅供各位参考。

http://blog.csdn.net/liwf616/article/details/9245901

xbt项目主页

https://code.google.com/p/xbt/



xbtt是xbt-Tracker的简称,官方网站http://xbtt.sourceforge.net/

xbt是一款高效能,低开销的BitTorrent软件,用c++写成。这是个纯tracker,不提供前台,可以自己制作前台(比如php)。我们主要用它的Bt Tracker。以前可以用cvs从sourceforge.net上面下载,后来好像是sourceforge.net停止了服务。现在发现它已经搬到了google code上面,但是项目源码好久没有更新了。不过对于研究p2p的tracker实现还是极具价值的,因为这个大牛就是Bittorrent的发明者之一吧。

这套源码基于c++ boost相关库开发,但是网络这块没有使用著名的boost::asio,而只是做了简单实现,不过代码非常简练,思路非常清晰,值得大家学习和揣摩。



下面开始我们在Ubuntu 14.04 64bit上的编译安装。

1.安装相关依赖库,主要就是boost的各个模块库,这里为了简单,直接选择二进制包安装,而非源码安装

sudo apt-get install cmake g++ make subversion zlib1g-dev

sudo apt-get install libboost-date-time-dev libboost-dev libboost-filesystem-dev 

sudo apt-get install libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libmysqlclient-dev



2.从google code官网svn上下载源码

svn co http://xbt.googlecode.com/svn/trunk/xbt/misc xbt/misc

svn co http://xbt.googlecode.com/svn/trunk/xbt/Tracker xbt/Tracker

注意Tracker需要这两部分的代码,如果你是单独下载的,一定要把这二个文件夹放在xbt目录下(也就是xbt目录下有misc和Tracker)





3.安装LNMP环境

参见我的博文

http://blog.csdn.net/tao_627/article/details/27089399



4.创建数据库xbt极其相关表格

登陆数据库

mysql -h localhost -u root -p

按照提示输入root后进入mysql命令行模式,在命令行提示符mysql>下输入

show databases;

创建数据库

create database xbt;

use xbt;

show tables;

使用xbt/Tracker目录下的xbt_tracker.sql脚本自动生成相关数据表

source /home/taoyx/program/xbt/Tracker/xbt_tracker.sql;

exit





5.编译xbt_Tracker

cd xbt/Tracker

./make.sh

cp xbt_tracker.conf.default xbt_tracker.conf

重新编辑这个配置文件:

vim xbt_tracker.conf

修改其内容为

mysql_host = “localhost”  //数据库地址,默认即可 

mysql_user = root         //数据库用户名 

mysql_password = root     //数据库密码 

mysql_database = xbt      //数据库名



6.启动xbt_Tracker

启动xbt-tracker:    ./xbt_tracker

关闭xbt-tracker :    kill “cat xbt_tracker.pid"  //相应的进程号

announce地址:http://localhost:2710/announce

状态查看地址:http://localhost:2710/statistics或者是http://localhost:2710/statis

7.创建系统启动脚本

下面是系统启动脚本xbt,内容如下,需要修改xbt_tracker所在的源码路径

#!/bin/shXBT_PATH="/home/taoyx/program/xbt/Tracker"
DAEMON="$XBT_PATH/xbt_tracker"
PIDFILE="/var/run/xbt_tracker.pid"DESC="XBTT Tracker"
NAME="xbt"test -x $DAEMON || exit 0case "$1" inrestart)echo "Restarting $DESC"start-stop-daemon --stop --quiet --pidfile $PIDFILErm -f $PIDFILEstart-stop-daemon --start --quiet --exec $XBT_PATH/xbt_tracker -- --conf_file $XBT_PATH/xbt_tracker.conf
;;start)echo "Starting $DESC"start-stop-daemon --start --quiet --exec $XBT_PATH/xbt_tracker -- --conf_file $XBT_PATH/xbt_tracker.conf
;;stop)echo "Stopping $DESC"start-stop-daemon --stop --quiet --pidfile $PIDFILErm -f $PIDFILE
;;*)N=/etc/init.d/$NAMEecho "Usage: $N {start|stop|restart}" >&2exit 1
esacexit 0


将其命名为xbt,再将其复制到/etc/init.d/xbt,添加到可执行权限

cd /etc/init.d

chmod +x xbt

添加到系统服务中,如下

chkconfig --list

chkconfig --add xbt

chkconfig --list

启动命令

sudo /etc/init.d/xbt start

关闭命令

sudo /etc/init.d/xbt stop

重启命令

sudo /etc/init.d/xbt restart

更多相关:

  • ng g s services/http  app.module.ts ... @NgModule({declarations: [...],imports: [...HttpClientModule,//这个很重紧要,没有就会报错],providers: [],bootstrap: [AppComponent] }) expor...

  • set-misc-nginx-module模块是标准的HttpRewriteModule指令的扩展,提供更多的功能,如URI转义与非转义、JSON引述、Hexadecimal/MD5/SHA1/Base32/Base64编码与解码、随机数等等。在后面的应用中,都将会接触使用到这个模块的。该模块是由章亦春先生开发的,他开发的其他模块应用...

  • 该源码包是MySQL-python-1.2.4b4.tar.gz 从2013-06-28以来一直没有更新,注意该网站可以区分访问的终端类型是Windows还是Linux之类的,从而返回的源码包格式不一样。 在CentOS上的安装方法是 http://www.cnblogs.com/jackluo/p/3559978.html...

  • ATS默认提供了对Referer头的http request的防盗链功能,主要应用于图片,对视频等会使用级别更高的防盗链功能,比如事先约定好key,采用md5或HMAC-Sha1算法加密等。 在remap.config中按如下格式设置: map_with_referer client-URL origin-server-URL re...

  • 测试大文件下载 curl -I "http://resource.tsk.erya100.com/TS/flv/TS180/5836/9.flv?t=1430796561727" 单条转发模式in per remap mode 在remap.config中添加一条 map http://resource.tsk.e...