ubuntu安装FastDFS的经历

34 篇文章 0 订阅
15 篇文章 0 订阅
 

首先是准备工作:需要我们下载两个文件,

FastDFS_v3.06.tar.gz

libevent-2.0.17-stable.tar.gz

这里就不赘述他们的安装过程了,可是注意一点儿就是如果有需要HTTP连接的需要在make.sh中将#WITH_HTTPD=1改成WITH_HTTPD=1,然后在安装,当我在安装FastDFS时报错了:

/home/FastDFS/FastDFS/tracker/../common/sched_thread.c:493: undefined reference to `pthread_create' ../common/pthread_func.o: 
In function `init_pthread_lock': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:32: undefined reference to `pthread_mutexattr_init' 
/home/FastDFS/FastDFS/tracker/../common/pthread_func.c:40: undefined reference to `pthread_mutexattr_settype' 
/home/FastDFS/FastDFS/tracker/../common/pthread_func.c:57: undefined reference to `pthread_mutexattr_destroy' ../common/pthread_func.o:
 In function `init_pthread_attr': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:84: undefined reference to `pthread_attr_getstacksize' 
/home/FastDFS/FastDFS/tracker/../common/pthread_func.c:115: undefined reference to `pthread_attr_setstacksize' ../common/pthread_func.o: 
In function `create_work_threads': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:156: undefined reference to `pthread_create' 
../common/pthread_func.o: 
In function `kill_work_threads': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:182: undefined reference to `pthread_kill' 
collect2: ld 返回 1 make: *** [fdfs_monitor] 错误 1 



经过在网上的查找得知:其实是不同的系统中pthread位置不一样,做法就是找到你的系统中所需要的libpthread.so文件位置,直接find就可以找到了;

root@zhou:~# find / -name 'libpthread.a'
/usr/lib/i386-linux-gnu/xen/libpthread.a
/usr/lib/i386-linux-gnu/libpthread.a
root@zhou:~# find / -name 'libpthread.so'
/usr/lib/i386-linux-gnu/libpthread.so

接着直接在make.sh中找到这句话然后替换掉就可以了:

 if [ -f /usr/lib/libpthread.so ] || [ -f /usr/local/lib/libpthread.so ] || [ -f /usr/lib64/libpthread.so ] || [ -f /usr/lib/libpthread.a ] || [ -f /usr/local/lib/libpthread.a ] || [ -f /usr/lib64/libpthread.a ]; then   LIBS="$LIBS -lpthread" 

然后在进行编译就OK了。

./make.sh
./make.sh install
Cd /home/FastDFS/FastDFS/conf/

这里简单介绍一下FastDFS的工作流程,它有三部分组成tracker、storage、client,其中tracker是个仓库管理员管理storage的,tracker有自己独有的ip地址和端口号这个和重要,每个storage仓库都要通过ip和端口来连接到tracker上面去,由tracker统一管理。所以下面是他们的配置方法和过程:

Vim tracker.conf
# the base path to store data and log files base_path=/home/FastDFS/FastDFS/tracker_info reserved_storage_space = 1GB
# HTTP settings http.disabled=false 
# HTTP port on this tracker server http.server_port=8090 
#use "#include" directive to include http other settings 
#include http.conf 

Vim http.conf
# return the content of the file when check token fail 
# default value is empty (no file sepecified) http.anti_steal.token_check_fail=/home/FastDFS/FastDFS/conf/anti-steal.jpg 
vim /etc/fdfs/http.conf
# return the content of the file when check token fail
# default value is empty (no file sepecified) http.anti_steal.token_check_fail=/home/FastDFS/FastDFS/conf/anti-steal.jpg 

这时的tracker服务就配置好了,就可以直接启动了:看到端口号是22122的就知道他已经启动了。还有8090端口说明http也启动了

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22122           0.0.0.0:*               LISTEN      9843/fdfs_trackerd
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1040/mysqld
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      791/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      920/cupsd
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      9942/fdfs_storaged
tcp        0      0 0.0.0.0:23000           0.0.0.0:*               LISTEN      9942/fdfs_storaged
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      

下面是配置storage相关信息

root@zhou:/home/FastDFS/FastDFS/conf/# vim storage.conf 
# the name of the group this storage server belongs to group_name=dcifile1 client_bind=true 
# the storage server port port=23000
# the base path to store data and log files 
base_path=/home/FastDFS/FastDFS/storage_info 
# store_path#, based 0, if store_path0 not exists, it's value is base_path 
# the paths must be exist 
store_path0=/home/FastDFS/FastDFS/storage_data 
#store_path1=/home/yuqing/fastdfs2 
# tracker_server can ocur more than once, and tracker_server format is 
#  "host:port", host can be hostname or ip address tracker_server=10.5.110.234:22122 
# the port of the web server on this storage server http.server_port=8888 http.trunk_size=256KB 
# if need find content type from file extension name http.need_find_content_type=true 
#use "#include" directive to include HTTP other settings 
#include http.conf 
root@zhou:/home/FastDFS/FastDFS/# mkdir storage_info 
root@zhou:/home/FastDFS/FastDFS/# mkdir storage_data
root@zhou:/home/FastDFS/FastDFS/# mkdir client_info
root@zhou:/home/FastDFS/FastDFS/conf/# cd /usr/local/bin/
root@zhou:/usr/local/bin/# fdfs_storaged /home/FastDFS/FastDFS/conf/storage.conf
root@zhou:/home/FastDFS/FastDFS/conf/# vim client.conf
# the base path to store log files 
base_path=/home/FastDFS/FastDFS/client_info
# tracker_server can ocur more than once, and tracker_server format is 
#  "host:port", host can be hostname or ip address 
tracker_server=10.5.110.234:22122 
#standard log level as syslog, case insensitive, value list: 
### emerg for emergency 
### alert 
### crit for critical 
### error 
### warn for warning 
### notice 
## info 
### debug log_level=info 
#HTTP settings 
http.tracker_server_port=8090 
#use "#include" directive to include HTTP other settiongs 
#include http.conf 
root@zhou:/usr/local/bin/# fdfs_test /home/FastDFS/FastDFS/conf/client.conf upload  a.txt source ip address: 10.5.110.234
file timestamp=2012-03-11 11:29:59
file size=22
file crc32=2041760096
file url: http://10.5.110.234:8090/dcifile1/M00/00/00/CgVu6k9cHDf4SXnIAAAAFnmyyWA295_big.txt

到这里算是完成了,相比较来说FastDFS还是相当容易配置成功的。加油……

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值