Ubuntu安装FastDFS笔记,首先是准备工作:需要我们下载两个文件,
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@ :~# find / -name 'libpthread.a' /usr/lib/i386-linux-gnu/xen/libpthread.a /usr/lib/i386-linux-gnu/libpthread.a root@ :~# 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也启动了