文章目录:
- 1、如何建立多个tracker服务器
- 2、如何把自己的电脑设置成BT Tracker服务器
- 3、如何基于fastdfs搭建缩略图服务器
- 4、怎么搭建trackers服务器
- 5、什么tracker服务器,它有什么作用?
如何建立多个tracker服务器
那是一个主机头带一个端口号在带上子页
没有什么难的,你先查查web建立网站都有什么要求就知道了!
不同的ip
相同的IP不同的端口
相同的IP相同的端口不同的主机头
你用的tracker.XXXX.com 就是主机头!剩下的我就不用说了吧!
如何把自己的电脑设置成BT Tracker服务器
假如您有一台拥有固定IP的服务器,那么您完全有能力自己维护一台BT服务器。当然,假如只有拨号式的宽带线路,同样能够完成这样的工作,只是需要对访问地址方面多做一些工作。特别有趣的是,假如我们想在自己的局域网里最高效的访问文档,BT服务器也能够帮我们做到。 我们选择的BT服务器软件是由一鹤软件研发的MyBT 3.0,这是一款运行在Windows平台下的BT服务器软件,只有1.2MB大小,大家能够在下载。成功安装并启动MyBT的主程式,我们能够看到有4个主要的选项页,分别是管理服务、目录配置、选项配置和系统配置。 管理服务选项页用于配置BT服务器的启动管理,我们假如是在NT内核的操作系统上安装MyBT,能够将其安装为后台服务。假如不将MyBT安装为系统服务,也能够通过控制台窗口的方式启动服务器,这种方式的长处是能够方便的在控制台窗口中查看服务运行的状态。MyBT还提供了一个被称作一键安装服务器的功能,该功能会将原有的配置文档和数据备份,之后启动服务并重新创建终极用户。 MyBT内置了一个微型的Web服务器,用于提供一个能够定制栏目的BT种子发布页面。默认的端口配置情况下,我们能够通过localhost:6969来访问该页面。目录配置选项页包含了MyBT的各种主要的配置选项。服务目录配置区用于配置包括文档发布目录、种子上传目录、Web页面目录、日志目录等任何目录的位置,这些目录都是以MyBT的安装主目录为根;配置文档配置区和此同理。值得一提的是Web页面配置区域,通过该部分能够替换发布页面上的各种元素。我们也能够直接修改这些文档,从而更新发布页面的外观,这样在其他用户访问该页面的时候,能够看到我们更个性化的一面。而在下载分类配置区域我们还能够调整种子发布的分类和相应的栏目菜单图片。选项配置和系统配置选项页里更有很多附加的配置,大家能够根据自己的需要进行调整。需要注意的一点是,在前面带有“!!”标记的配置项是不推荐配置的。 以上介绍了通过MyBT架设BT服务器的大部分知识,大家之后将自己要共享的文档和制作好的种子上传就能够了。 节选自《西部数码》
如何基于fastdfs搭建缩略图服务器
目前FastDFS支持类Unix系统 ,在Linux和FreeBSD下测试过,本文使用的是Ubuntu10.4,建议安装之前先简单了解一下FastDFS的原理 ,这对后继的配置部分会有很好的理解。
一、准备工作-安装libevent
FastDFS 内部绑定了 libevent 作为 http 服务器 ,在V2.X版本必须安装 libevent ,本文安装的是V2.2版本,因此必须安装libevent。(官方也推荐使用 http 方式下载 文件 )
如果已经安装了 libevent,请确认安装路径是 /usr , 因为 FastDFS 在编译源程序时,需要到此目录下查找一些依赖文件,否则编译 FastDFS 会出错 。如果不是,建议首先卸载 libevent ,然后安装到 /usr 下。Ubuntu10.4默认是安装了libevent,可以到软件中心卸载掉然后按照下面介绍的方式安装。
安装步骤:
解压 libevent ,然后进入解压后的目录分别执行:
Shell代码
./configure --prefix=/usr
make clean;
make
make install
安装libevent完成。
二、安装 FastDFS
1、下载 FastDFS 源程序
2、在 FastDFS_v4.05.tar.gz 所在文件夹下执行:
Shell代码
sudo tar vxzf FastDFS_v4.05.tar.gz /home/soar/FastDFS
注: /home/soar/FastDFS 也可以是其他目录,记住这是解压目录,以后用 %FastDFS% 表示)
3、由于要使用内置的 http 服务,因此编辑 %FastDFS%/make.sh 文件,找到
#WITH_HTTPD=1
修改成
WITH_HTTPD=1
以支持 http
4、进入 %FastDFS% 目录,执行:
Shell代码
sudo ./make.sh
5、在 %FastDFS% 目录下,执行:
Shell代码
sudo ./make.sh install
如果运行如上命令后,在命令行信息最后看到类似
Shell代码
#ln -fs /usr/local/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so
#ln -fs /usr/local/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so
sh ./fdfs_link_library.sh
恭喜你,已经安装成功了!
FastDFS的配置文件在%FastDFS%/conf目录下,其中包括
Client.conf 客户端上传配置文件
Storage.conf 文件存储服务器配置文件
Tracker.conf 负责均衡调度服务器配置文件
http.conf http服务器配置文件
配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档,以及FastDFS原理介绍文档
在本例中,Tracker Server,Storage Server都安装在一台服务器上,IP:10.0.2.15
1、配置及启动Tracker Server
A、修改%FastDFS%/conf/tracker.conf文件,修改如下
#可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动
Txt代码
base_path=/home/yuqing/fastdfs - base_path=/home/soar/fastdfs_tracker
#改成你想要的http端口,将来http下载文件的端口就是他了
Txt代码
http.server_port=8080 - http.server_port=8090
#http支持
Txt代码
##include http.conf - #include http.conf
#默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动
Txt代码
reserved_storage_space = 4GB - reserved_storage_space = 1GB
#tracker server对storage server供服务的端口,使用默认的即可,也可以自定义
Txt代码
port=22122
B、将http.conf文件拷贝到/etc/fdfs目录下,执行
Shell代码
sudo cp %FastDFS%/conf/http.conf /etc/fdfs/
注:为了支持http,必须将这个文件拷贝到此目录,否则无法启动,报param http.XXX not exist or is empty类似的错误
C、进入/usr/local/bin/目录,启动tracker服务器,执行
Shell代码
sudo fdfs_trackerd %FastDFS%/conf/tracker.conf
D、进入/home/soar/fastdfs_tracker/logs/trackerd.log查看tracker的启动日志,如果看到类似
Shell代码
[2010-11-04 16:21:25] INFO - FastDFS v2.02, base_path=/home/soar/fastdfs_tracker, connect_timeout=30s, network_timeout=60s, port=22122, bind_addr=, max_connections=256, work_threads=4, store_lookup=2, store_group=, store_server=0, store_path=0, reserved_storage_space=4MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=86400s, storage_sync_file_max_time=300s
[2010-11-04 16:21:25] INFO - HTTP supported: server_port=8090, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, check_active_interval=30, check_active_type=tcp, check_active_uri=/status.html
恭喜你,tracker server已经启动成功!
2、配置及启动Storage Server
A、修改%FastDFS%/conf/storage.conf文件,修改如下:
#可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息
Txt代码
base_path=/home/yuqing/fastdfs - /home/soar/fastdfs_storge
#文件的存储位置,在一台storage server上可以指定多个存储位置
Txt代码
store_path0=/home/yuqing/fastdfs - store_path0=/home/soar/fastdfs_storge
#必须指定
Txt代码
group_name=group1
#修改成tracker server的IP和端口信息
Txt代码
tracker_server=192.168.209.121:22122 - tracker_server=10.0.2.15:22122
#http支持
Txt代码
##include http.conf -#include http.conf
B、进入/usr/local/bin/目录,启动storage服务器,执行
Shell代码
sudo fdfs_storaged %FastDFS%/conf/storage.conf
C、进入/home/soar/fastdfs_tracker/logs/storage.log查看storage服务器启动日志,如果看到类似
Shell代码
[2010-11-04 16:37:16] INFO - FastDFS v2.02, base_path=/home/soar/fastdfs_storge, store_path_count=1, subdir_count_per_path=256, group_name=group1, connect_timeout=30s, network_timeout=60s, port=23000, bind_addr=, client_bind=1, max_connections=256, work_threads=4, disk_rw_separated=1, disk_reader_threads=1, disk_writer_threads=1, buff_size=256KB, heart_beat_interval=30s, stat_report_interval=60s, tracker_server_count=1, sync_wait_msec=200ms, sync_interval=0ms, sync_start_time=00:00, sync_end_time=23:59, write_mark_file_freq=500, allow_ip_count=-1, file_distribute_path_mode=0, file_distribute_rotate_count=100, fsync_after_written_bytes=0, sync_log_buff_interval=10s, sync_binlog_buff_interval=60s, sync_stat_file_interval=300s, thread_stack_size=512 KB, upload_priority=10, if_alias_prefix=, check_file_duplicate=0, FDHT group count=0, FDHT server count=0, FDHT key_namespace=, FDHT keep_alive=0, HTTP server port=8888, domain name=
[2010-11-04 16:37:16] INFO - HTTP supported: server_port=8888, http_trunk_size=262144, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0
[2010-11-04 16:37:16] INFO - file: storage_param_getter.c, line: 48, storage_ip_changed_auto_adjust=1
[2010-11-04 16:37:19] INFO - file: tracker_client_thread.c, line: 274, successfully connect to tracker server 10.0.2.15:22122, as a tracker client, my ip is 10.0.2.15
恭喜你,storage server已经启动成功!
经过前面的安装、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。
一、上传文件
FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。
1、修改%FastDFS%/conf/client.conf文件,修改如下:
#可自定义,但此目录必须存在,用于存放文件上传log
Txt代码
base_path=/home/yuqing/fastdfs- base_path=/home/soar/fastdfs_tracker
Txt代码
tracker_server=192.168.209.121:22122 - tracker_server=10.0.2.15:22122
Txt代码
http.tracker_server_port=8080 -http.tracker_server_port=8090
#支持http
Txt代码
##include http.conf -#include http.conf
2、进入/usr/local/bin/目录,上传文件,执行
Txt代码
sudo fdfs_test %FastDFS%/conf/client.conf upload a.txt
注:a.txt可以在/usr/local/bin/目录下自己创建一个
如果命令行反馈类似如下:
则说明上传文件成功。
关于fastdfs集群和备份配置
1、修改tracker.conf文件中store_lookup=2 平衡负载
2、修改tracker.conf文件中store_server=0 采用轮询方式。
如果希望只使用一台文件存储服务器,其他二台做备份,则修改文件tracker_server为某台主机的IP,只启动文件存储服务器的tracker,其他二台备份服务器不需要启动tracker。
如果希望三台服务器集群使用,互相备份,比如:使用A机器存储文件,这时候A机器会将文件同步到B机器和C机器,同理使用B机器存储文件,则会同时将文件同步到A机器和C机器。这时候需要将所有的机器IP和端口号
都配置在storage.conf中,如下所示:
tracker_server=10.207.16.127:22122
tracker_server=10.207.16.129:22122
怎么搭建trackers服务器
torrent文件本质上是文本文件,即常说的种子,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置。
什么tracker服务器,它有什么作用?
BT中的tracker是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件.客户端连上tracker服务器,就会获得一个下载人员得名单,根据这个,BT会自动连上别人的机器进行下载.
作用:
运行于服务器上,能够追踪到底有多少人同时在下载同一个文件。它是提供bt的服务器。把文件用bt发布出来的人需要知道该使用哪个服务器来为要发布的文件提供tracker。
对所有下载者的信息进行维护。当它收到一个请求后,首先把对方的信息记录下来(如果已经记录在案,那么就检查是否需要更新),然后将一部分(并非全部,根据设置的参数已经下载者的请求)参与下载同一个文件(一个tracker服务器可能同时维护多个文件的下载)的下载者的信息返回给对方。
扩展资料:
具体分析tracker服务器的实现细节:
要建立一个tracker服务器,只要运行bttrack.py程序就行了,它最少需要一个参数,就是–dfile,这个参数指定了保存下载信息的文件。Bttrack.py调用track.py中的track()函数。因此,我们跟踪到track.py中去看track()函数。
Track.py:track()。这个函数首先对命令行的参数进行检查;然后将这些参数保存到config字典中。在BT中所有的工具程序,都有类似的处理方式。
首先是创建一个RawServer对象,这是一个服务器对象,它将实现一个网络服务器的一些细节封装起来。不仅tracker服务器用到了RawServer,我们以后还可以看到,由于每个client端也需要给其它client提供下载服务,因此也同时是一个服务器,client的实现中,也用到了RawServer,这样,RawServer的代码得到了重用。关于RawServer的详细实现,在后面的小节中进行分析。
接着是创建一个Tracker对象。
然后让RawServer绑定在指定的端口上(通过命令行传递进来)。
最后,调用RawServer::listen_forever()函数,使得服务器投入运行。
最后,在服务器因某些原因结束运行以后,调用Tracker::save_dfile()保存下载信息。这样,一旦服务器再次投入运行,可以恢复当前的状态。
参考资料:百度百科
/logs/trackerd.log查看tracker的启动日志,如果看到类似Shell代码 [2010-11-04 16:21:25] INFO - FastDFS v2.02, base_path=/home/soar/fastdfs_trac
write_mark_file_freq=500, allow_ip_count=-1, file_distribute_path_mode=0, file_distribute_rotate_count=100, fsync_after_written_bytes=0, sync_
s - store_path0=/home/soar/fastdfs_storge #必须指定Txt代码 group_name=group1 #修改成tracker server的IP和端口信息Txt代码 tracker_server=192.168.209.121: