上次搭建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
与以前版本不一样的是,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各个组件的默认位置可能不一样,须要按照版本建立相应的软连接