码迷,mamicode.com
首页 > 其他好文 > 详细

搭建FastDFS分布式存储环境(使用Nginx模块)

时间:2015-04-01 11:34:21      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:

上次搭建FastDFS使用的版本是v4.05,见http://www.linuxidc.com/Linux/2014-10/107592.htm
这个版本已经比较旧了

最新的版本是v5.04,由于作者重构了代码,所以安装过程还是有一些不一致.
最新版本下载地址:http://sourceforge.net/projects/fastdfs/files/
安装可以参考压缩包内的INSTALL文件。

实验还是搭建一个FastDFS环境,并增加Nginx模块
所用软件:
FastDFS_v5.04.tar.gz
libfastcommon-master.zip
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.6.2.tar.gz

技术分享

与之前版本不同的是,v5.04首先需要安装libfastcommon
下载地址:https://github.com/happyfish100/libfastcommon.git

 1.安装libfastcommon
在每一台服务器上,解压libfastcommon,进入libfastcommon-master目录执行
./make.sh
 ./make.sh install

技术分享

可以看到libfastcommon.so安装到了/usr/lib64/libfastcommon.so

但是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.so


2.安装FastDFS主程序
 这个版本似乎已经不需要libevent依赖
 在每台服务器,解压缩FastDFS_v5.04.tar.gz,进入FastDFS目录
 执行
./make.sh 
 ./make.sh install
如果上步的软链接创建成功,就应该会非常顺利。

 配置Tracker服务器(192.168.1.70)    
 vim /etc/fdfs/tracker.conf文件,修改如下内容
base_path=/tracker
然后执行命令
fdfs_trackerd tracker.conf

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


搭建FastDFS分布式存储环境(使用Nginx模块)

标签:

原文地址:http://my.oschina.net/ydsakyclguozi/blog/394549

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!