http://blog.csdn.net/xingjiarong/article/details/50559761

在前面的一篇中,我们分析了FastDFS的架构,知道了FastDFS是由客户端,跟踪服务器和存储服务器三部分组成,下面我们就来看一下如何动手搭建一个FastDFS的环境出来。这是FastDFS的主页:https://code.google.com/p/fastdfs/,上边有FastDFS的简单介绍和一些常用的下载。但是本人觉得,官网上的搭建过程过于简单,并且没有对一个异常提出解决方案,对于一个新手来说是很难搭建出一个满意的环境的,毕竟对FastDFS有较高的造诣的人也不会纠结怎么搭建环境,所以这里我总结了一下我的搭建过程和其中遇到的一些问题,希望对大家有所帮助,如果有什么问题还请大家积极指出。

一、环境声明

我觉得对于搭建环境的博客来说首先要做的就是声明博文中使用的环境是什么,好让看博客的人形成对照,好多的博主不说明自己的环境,一上来就开始执行命令,很多人跟着博主进行搭建,搭建了一大半了才发现自己和博主的环境根本就不一样,即浪费了时间又影响了心情。在这里我说明一下我的环境。我使用的是Ubuntu14.04 LTS 64位 作为搭建的主机,搭建单节点的FastDFS环境,注意是单节点的。我们先从最简单的入手,后边我会再写一篇如何搭建多节点的环境。为了方便恢复系统,我使用了VirtualBox虚拟了Ubuntu14.04 LTS,当然如果您想在物理机上搭建当然也可以。以下博客中出现的所有命令都在root权限下执行。

二、环境准备-安装libevent

FastDFS内部绑定了libevent作为http服务器,在V2.X版本以上必须安装libevent,本文安装的是V4.06版本,因此必须安装libevent。

如果已经安装了libevent,请确认安装路径是/usr , 因为FastDFS在编译源程序时,需要到此目录下查找一些依赖文件,否则编译FastDFS会出错。如果不是,建议首先卸载libevent,然后安装到 /usr 下。本文安装的是libevent-2.0.19-stable.tar.gz,下载地址:https://acelnmp.googlecode.com/files/libevent-2.0.19-stable.tar.gz,按照如下的步骤进行安装。

wget https://acelnmp.googlecode.com/files/libevent-2.0.19-stable.tar.gz
tar zxvf libevent-2.0.19-stable.tar.gz
./configure --prefix=/usr
make clean
make
make install

这样libevent就安装按成了。

三、安装FastDFS

1、首先下载FastDFS

wget https://fastdfs.googlecode.com/files/FastDFS_v4.06.tar.gz

2、解压缩

tar vxzf FastDFS_v4.06.tar.gz %FastDFS% 

注:这里的%FastDFS% 是解压目录,每个人根据自己的实际情况进行替换即可。

3、修改make.sh文件

首先执行如下命令查看一下自己的libpthread.a位于什么地方

find / -name 'libpthread.a'

结果为:/usr/lib/x86_64-linux-gnu/libpthread.a

同样的方法查看自己的libpthread.so文件为什么什么地方

find / -name 'libpthread.so'

结果为:/usr/lib/x86_64-linux-gnu/libpthread.so

找到make.sh中关于libpthread.a和libpthread.so的地方,在其中加入自己刚刚找到的文件位置。

原文件

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

修改后的文件

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

这一步的目的是因为不同的机器pthread的类库的位置是不同的,如果不进行设置的话,在编译的时候就会出现找不到pthread等错误。

注意:有人的博客中写到为了支持http,要设置WITH_HTTPD=1等等,在我安装的v4.06中,FastDFS不再集成http的功能,如果想要通过http下载文件的话,需要配置单独的fastdfs-apache-module,后边的博客中我会单独说明如何配置。

4、修改client/fdfs_link_library.sh.in

找到以下的位置

将lib64改为lib,否则会出现文件不存在的错误。修改为如下所示:

5、开始安装

在FastDFS根目录下执行如下的命令进行安装,如果没有报错就说明安装成功了

./make.sh
./make.sh install

(转)分布式文件存储FastDFS(二)FastDFS安装的更多相关文章

  1. 分布式文件存储:FastDFS简单使用与原理分析

    引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点. 用了 2 ...

  2. .Net平台下,分布式文件存储的实现

    遇到的问题 对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上.但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录, ...

  3. 【网络爬虫入门05】分布式文件存储数据库MongoDB的基本操作与爬虫应用

    [网络爬虫入门05]分布式文件存储数据库MongoDB的基本操作与爬虫应用 广东职业技术学院  欧浩源 1.引言 网络爬虫往往需要将大量的数据存储到数据库中,常用的有MySQL.MongoDB和Red ...

  4. 分布式文件存储数据库 MongoDB

    MongoDB 简介 Mongo 并非芒果(Mango)的意思,而是源于 Humongous(巨大的:庞大的)一词. MongoDB 是一个基于分布式文件存储的 NoSQL 数据库.由 C++ 语言编 ...

  5. 修改Jupyter Notebook默认文件存储路径(已安装Anaconda)

    https://blog.csdn.net/weixin_44799144/article/details/91823079 修改Jupyter Notebook默认文件存储路径首先,安装好Anaco ...

  6. 分布式文件存储FastDFS(七)FastDFS配置文件具体解释

    配置FastDFS时.改动配置文件是非常重要的一个步骤,理解配置文件里每一项的意义更加重要,所以我參考了大神的帖子,整理了配置文件的解释.原帖例如以下:http://bbs.chinaunix.net ...

  7. (转) 分布式文件存储FastDFS(七)FastDFS配置文件详解

    http://blog.csdn.net/xingjiarong/article/details/50752586 配置FastDFS时,修改配置文件是很重要的一个步骤,理解配置文件中每一项的意义更加 ...

  8. (转) 分布式文件存储FastDFS(一)初识FastDFS

    http://blog.csdn.net/xingjiarong/article/details/50559849 一.FastDFS简介 FastDFS是一款开源的.分布式文件系统(Distribu ...

  9. 分布式文件存储FastDFS(一)初识FastDFS

    一.FastDFS简单介绍 FastDFS是一款开源的.分布式文件系统(Distributed File System),由淘宝开发平台部资深架构师余庆开发.作为一个分布式文件系统,它对文件进行管理. ...

随机推荐

  1. 只用html和css画出不等分圆盘,不用canvas

    <style> .box{height: 200px;width: 200px;border-radius: 100%; overflow: hidden; margin: 200px; ...

  2. C#使用oledb连接excel运行Insert Into语句出现“操作必须使用一个可更新的查询”的解决的方法

    我错误发生时的环境:Windows 7,Framework 4.0,Microsoft Office 2007,VS2010,c# WinForm. 部分代码: string strConn = &q ...

  3. 使用JavaScript开发IE浏览器本地插件实例

    使用JavaScript开发IE浏览器本地插件实例 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2015-02-18我要评论 这篇文章主要介绍了使用JavaScript开发IE浏览器本 ...

  4. framework/base子目录

    framework/base下各子目录 ~/src/aosp_master/frameworks $ tree base/ -L 1 base/ ├── Android.bp ├── Android. ...

  5. Word中公式和文字混排对齐的问题

    全选-字体-字符间距-位置-标准-确定 段落-中文版式-文本对齐方式-居中-确定

  6. 同一个Tomcat下不同项目之间的session共享

    最近发现项目运行过程中经常会抛出一个 NullPointerException的异常,经检查发现异常出现的地方是日志模板,一阵检查,正常无误 (把所有记录日志的地方都点了一遍,心里是崩溃的),万念俱灰 ...

  7. A. Power Consumption Calculation

    http://codeforces.com/problemset/problem/10/A 题很简单,就是题意难懂啊... #include <stdio.h> #include < ...

  8. 如何写出网页高性能的DOM来提升网页的加载速度

    为什么要写高性能DOM? 一个网站,在页面上承载最多内容的就是DOM,而且无论是我们通过加载JS.加载图片,他们也是通过写HTML标签来实现的.而我们性能优化要做的无非就是几大块: 站点的网络消耗 D ...

  9. cobbler+kickstart安装笔记

    cobbler+kickstart安装笔记 本文参考老男孩配置:https://blog.oldboyedu.com/autoinstall-cobbler/ centos7:开机如果不启动网卡,需要 ...

  10. scrapy 简单操作

    1.创建一个简单的scrapy项目 scrapy startproject search(项目名称)按照提示cd searchscrapy genspider serachname search.co ...