搭建FastDFS分佈式存儲環境(使用Nginx模塊)

上次搭建FastDFS使用的版本是v4.05,見http://www.linuxidc.com/Linux/2014-10/107592.htm
這個版本已經比較舊了php

最新的版本是v5.04,因爲做者重構了代碼,因此安裝過程仍是有一些不一致.
最新版本下載地址:http://sourceforge.net/projects/fastdfs/files/
安裝能夠參考壓縮包內的INSTALL文件。mysql

實驗仍是搭建一個FastDFS環境,並增長Nginx模塊
所用軟件:
FastDFS_v5.04.tar.gz
libfastcommon-master.zip
fastdfs-nginx-module_v1.16.tar.gz(每一個storage都要安裝)
nginx-1.6.2.tar.gz(每一個storage都要安裝)
linux

搭建FastDFS分佈式存儲環境(使用Nginx模塊)

與以前版本不一樣的是,v5.04首先須要安裝libfastcommon
下載地址:https://github.com/happyfish100/libfastcommon.gitnginx

 1.安裝libfastcommon
在每一臺服務器上,解壓libfastcommon,進入libfastcommon-master目錄執行
./make.sh
 ./make.sh installc++

能夠看到libfastcommon.so安裝到了/usr/lib64/libfastcommon.sogit

可是FastDFS主程序設置的lib目錄是/usr/local/lib
因此須要建立軟連接.
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
 ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
 ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
 ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.sogithub


2.安裝FastDFS主程序
 這個版本彷佛已經不須要libevent依賴
 在每臺服務器,解壓縮FastDFS_v5.04.tar.gz,進入FastDFS目錄
 執行
./make.sh 
 ./make.sh install
若是上步的軟連接建立成功,就應該會很是順利。sql

 配置Tracker服務器(192.168.1.70)    
 vim /etc/fdfs/tracker.conf文件,修改以下內容
base_path=/tracker
而後執行命令
fdfs_trackerd tracker.confvim

配置Storage服務器(192.168.1.80,192.168.1.30)
 vim /etc/fdfs/storage.conf
 group_name=group1
 base_path=/storage
 store_path0=/storage
 tracker_server=192.168.1.70:22122
而後執行命令
fdfs_storaged storage.conf服務器


執行測試,修改Tracker服務器192.168.1.70的配置文件/etc/fdfs/client.conf
 tracker_server=192.168.1.170:22122
執行命令
[root@mysql1 fdfs]# fdfs_upload_file client.conf /home/nginx/FastDFS_v5.04.tar.gz 
 group1/M00/00/00/wKgBHlQvrQGARrS6AAU9tcFAzok.tar.gz


 3.解壓fastdfs-nginx-module
 FastDFS經過Tracker服務器,將文件放在Storage服務器存儲,
可是同組之間的服務器須要複製文件,有延遲的問題.
假設Tracker服務器將文件上傳到了192.168.1.80,文件ID已經返回客戶端,
這時,後臺會將這個文件複製到192.168.1.30,若是複製沒有完成,客戶端就用這個ID在192.168.1.30取文件,確定會出現錯誤
 這個fastdfs-nginx-module能夠重定向鏈接到源服務器取文件,避免客戶端因爲複製延遲的問題,出現錯誤。

 修改fastdfs-nginx-module的config文件
 原來的內容是
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"

 vim /home/nginx/fastdfs-nginx-module/src/config,修改成
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon"

各個版本的位置並不統一.因此須要根據本身的版本修改位置。

--------------------------------------分割線 --------------------------------------

CentOS 6.2實戰部署Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用Nginx搭建WEB服務器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基於Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服務器全過程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3下Nginx性能調優 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3下配置Nginx加載ngx_pagespeed模塊 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4安裝配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx安裝配置使用詳細筆記 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx日誌過濾 使用ngx_log_if不記錄特定日誌 http://www.linuxidc.com/Linux/2014-07/104686.htm

4.安裝nginx
在每一個Storage服務器上安裝Nginx  http://www.linuxidc.com/Linux/2014-10/107593.htm

yum -y install gcc automake autoconf libtool make gcc-c++ pcre* zlib openssl openssl-devel

增長fastdfs-nginx-module模塊
./configure \
 --prefix=/home/nginx/nginx-1.6.2 \
 --sbin-path=/home/nginx/nginx-1.6.2/nginx \
 --conf-path=/home/nginx/nginx-1.6.2/nginx.conf \
 --pid-path=/home/nginx/nginx-1.6.2/nginx.pid \
 --with-http_ssl_module \
--add-module=/home/nginx/fastdfs-nginx-module/src

make -j `cat /proc/cpuinfo | grep processor| wc -l` && make install

複製fastdfs-nginx-module源碼中的配置文件到/etc/fdfs
 cp /home/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
修改該配置文件
group_name=group1
 tracker_server=192.168.1.70:22122
 store_path0=/storage
 base_path=/storage

複製FastDFS的配置到/etc/fdfs

修改Nginx配置文件
        location /M00 {
            root /storage;
            ngx_fastdfs_module;
        }
在/storage目錄下建立軟鏈接,將其連接到實際存放數據的目錄,
 [root@mysql2 storage]# pwd
 /storage
 [root@mysql2 storage]# ln -s data/ M00

建立軟連接的好處是方便多目錄的管理

啓動Nginx,就可使用HTTP下載了.

注意事項:
1.FastDFS各個版本安裝方式有差異,須要閱讀INSTALL文件
2.FastDFS各個組件的默認位置可能不一樣,須要按照版本建立相應的軟連接

Nginx 的詳細介紹請點這裏
Nginx 的下載地址請點這裏

相關文章
相關標籤/搜索