- 安装Berkley db-6.2.23
wget http://download.oracle.com/berkeley-db/db-6.2.23.tar.gz
tar -zxvf db-6.2.23.tar.gz
cd db-6.2.23
./dist/configure --prefix=/usr/local/db
make
make install
- 安装FastDHT
git clone https://github.com/happyfish100/fastdht.git
cd fastdht
#修改make.sh
vim make.sh
CFLAGS='-Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE'
#改为:
CFLAGS='-Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I/usr/local/db/include/ -L/usr/local/db/lib/'
./make.sh && ./make.sh install
- 复制配置文件
cp conf/fdht_client.conf /etc/fdht
cp conf/fdhtd.conf /etc/fdht
cp conf/fdht_servers.conf /etc/fdht
- 配置fdht_client.conf
vim /etc/fdht/fdht_client.conf
#本选项关联 storaged.conf文件
keep_alive=1
base_path=/data/fdht
#include /etc/fdht/fdht_servers.conf
- 配置fdht_servers.conf
vim /etc/fdht/fdht_servers.conf
group_count=1
group0 = 192.168.0.88:11411 #本机ip
- 配置fdhtd.conf
vim /etc/fdht/fdhtd.conf
bind_addr=192.168.0.88
port=11411
#include /etc/fdht/fdht_servers.conf
- 修改storage.conf文件
.
vim /etc/fdfs/storage.conf
check_file_duplicate=1
keep_alive=1
#include /etc/fdht/fdht_servers.conf
(注意: #和include之间没有空格)
- 引入libdb.so
ln -s /usr/local/db/lib/libdb-6.2.so /usr/lib/libdb-6.2.so
ln -s /usr/local/db/lib/libdb-6.2.so /usr/lib64/libdb-6.2.so
- 启动FastDHT
fdhtd /etc/fdhtd/fdhtd.conf
fdhtd /etc/fdht/fdhtd.conf restart
/usr/local/bin/fdhtd /etc/fdht/fdhtd.conf
- 注意
上传多个相同文件返回的id虽然不同,但不影响去重,实际是建立了软连接