分佈式文件存儲FastDFS(二)FastDFS安裝

在前面的一篇中,我們分析了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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章