搭建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 的下载地址请点这里

相关文章
相关标签/搜索