FastDFS 伪分布安装

FastDFS 伪分布安装

FastDFS 伪分布安装(环境准备):

集群(2 node):

跟踪服务器:100.98.22.253

存储服务器:100.98.22.254

安装包:

1.fastdfs_client_java._v1.25.tar.gz
2.fastdfs_client_v1.24.jar
3.fastdfs-nginx-module_v1.16.tar.gz
4.FastDFS_v5.05.tar.gz
5.libfastcommon-master.zip
6.nginx-1.6.2.tar.gz
FastDFS 伪分布安装_第1张图片
下载安装包可以从如下地址下载( 点击打开链接)。 http://download.csdn.net/download/qq_18600061/10209954

FastDFS 安装所需依赖:

#FastDFS 依赖包
yum install gcc gcc-c++ make cmake automake autoconf libtool pcre* zlib openssl openssl-devel

跟踪服务器安装:

1.上传FastDFS 安装包:

#上传FastDFS安装包253服务器
scp -r FastDFS_v5.05 [email protected]:/root/FastDFS_v5.05

2.安装 libfastcommon-master

#进到上传目录
cd ~/FastDFS_v5.05/
#解压 libfastcommon-master.zip包
unzip libfastcommon-master.zip
#移动到 /usr/local/src目录
mv libfastcommon-master /usr/local/src
#进入 /usr/local/src/libfastcommon-master
cd /usr/local/src/libfastcommon-master
#编译 libfastcommon-master
./make.sh
#安装 libfastcommon-master
./make.sh install
注意:libfastcommon 默认安装在(/usr/lib64/):

FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接.

#创建 libfastcommon软连接
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
#创建 libfdfsclient软链接(注意:这时候没有安装FastDFS_v5.05.tar.gz包会报错,先创建出来软连接)
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
FastDFS 伪分布安装_第2张图片
3.安装FastDFS文件:

cd FastDFS_v5.05/
#解压 FastDFS_v5.05.tar.gz 到 /usr/local/src/
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/src/

4.编译 FastDFS 和 安装

注意:启动脚本:

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
FastDFS 伪分布安装_第3张图片
配置文件(样例配置文件):

/etc/fdfs/client.conf.sample 
/etc/fdfs/storage.conf.sample 
/etc/fdfs/tracker.conf.sample
命令工具在/usr/bin目录下:

FastDFS 伪分布安装_第4张图片
5.修改 FastDFS 服务脚本中相应的命令路径,也就是把/etc/init.d/fdfs_storaged/etc/init.d/fdfs_tracker 两个脚本中的/usr/local/bin 修改成/usr/bin:

#编辑trackerd配置文件
vi /etc/init.d/fdfs_trackerd
#使用查找替换命令进统一修改:
%s+/usr/local/bin+/usr/bin
#编辑storaged配置文件
vi /etc/init.d/fdfs_storaged 
#使用查找替换命令进统一修改:
%s+/usr/local/bin+/usr/bin
6.配置FastDFS跟踪器服务脚本(100.98.22.25)
cd /etc/fdfs/
#复制tracker脚本
cp tracker.conf.sample tracker.conf
#编辑tracker脚本
vi /etc/fdfs/tracker.conf

修改tracker.conf 22行把base_path=改成自己存储的目录

(其他参数保留默认配置,具体配置解释请参考官方文档点击打开链接) http://bbs.chinaunix.net/thread-1941456-1-1.html

FastDFS 伪分布安装_第5张图片
7.创建 FastDFS跟踪器数据目录:

#创建数据存储 和 日志 目录
mkdir -p /usr/local/fastdfs/tracker
8.启动 和 停止、设置开机启动 跟踪服务器:

#启动 跟踪服务器
/etc/init.d/fdfs_trackerd start 或
service fdfs_trackerd start
#查看 跟踪服务器 是否启动
ps -ef | grep fdfs

#关闭 跟踪服务器
etc/init.d/fdfs_trackerd stop 或
service fdfs_trackerd stot

#设置 跟踪服务器 开机启动
vi /etc/rc.d/rc.local
添加以下内容:
## FastDFS Tracker 
/etc/init.d/fdfs_trackerd start

存储服务器安装:

1.配置FastDFS 存储器配置文件:

cd /etc/fdfs/
#复制storage脚本
cp storage.conf.sample storage.conf
#编辑 storage.conf
vi storage.conf

#修改的内容如下:
base_path=/usr/local/fastdfs/storage
store_path0=/usr/local/fastdfs/storage 
tracker_server=100.98.22.253:22122

(其他参数保留默认配置,具体配置解释请参考官方文档点击打开链接) http://bbs.chinaunix.net/thread-1941456-1-1.html

2.创建存储服务器数据存储目录:

#创建数据储存目录
mkdir -p /usr/local/fastdfs/storage
3.启动 和 停止、设置开机启动 存储服务器:

#启动 存储服务器
/etc/init.d/fdfs_storaged start 或
service fdfs_storaged start
#查看 存储服务器 是否启动
ps -ef | grep fdfs

#关闭 存储服务器
etc/init.d/fdfs_storaged stop 或
service fdfs_storaged stot

#设置 存储服务器 开机启动
vi /etc/rc.d/rc.local
添加以下内容:
## FastDFS Storage
/etc/init.d/fdfs_storaged start

文件上传测试:

1.修改Tracker服务器(100.98.22.253)中的客服端配置文件

#复制配置文件
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf 
#编辑 client.conf
vi /etc/fdfs/client.conf

#修改内容:
base_path=/usr/local/fastdfs/tracker
tracker_server=192.168.4.121:22122
2.测试文件上传:( 上传成功会返回文件ID路径)

#文件上传
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/FastDFS_v5.05/FastDFS_v5.05.tar.gz

每个存储节点(100.98.22.254)上安装nginx:

1、fastdfs-nginx-module 作用说明
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入
文件复制,有同步延迟的问题。假设 Tracker 服务器将文件上传到了 100.98.22.254,上传成功后文件 ID 已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储 100.98.22.255,在文件还 没有复制完成的情况下,客户端如果用这个文件 ID 在 100.98.22.255 上取文件,就会出现文件无法访问的 错误。而 fastdfs-nginx-module 可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的 文件无法访问错误。(解压后的 fastdfs-nginx-module 在 nginx 安装时使用)
2、解压 fastdfs-nginx-module
cd ~/FastDFS_v5.05
#解压到	/usr/local/src 目录
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/src

cd /usr/local/src/fastdfs-nginx-module/src
#修改 config 配置文件
vi config
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/" 修改为:
     CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
(注意:这个路径修改是很重要的,不然在 nginx 编译的时候会报错的)
FastDFS 伪分布安装_第6张图片
3.解压 Nginx 和 安装

cd ~/FastDFS_v5.05
#解压Nginx 到/usr/local/src
tar -zxvf nginx-1.6.2.tar.gz -C /usr/local/src
#
cd /usr/local/src/nginx-1.6.2
#执行添加fastDFS模块 到nginx中
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src
#编译 和 安装 nginx
make && make install
#复制mod_fastdfs.conf 到/etc/fdfs
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
#编辑 mod_fastdfs.conf文件
vi mod_fastdfs.conf

#修改内容:
connect_timeout=10
tracker_server=100.98.22.253:22122
url_have_group_name = true
store_path0=/usr/local/fastdfs/storage
4.复制 FastDFS 的部分配置文件到/etc/fdfs 目录

cd /usr/local/src/FastDFS/conf
cp http.conf mime.types /etc/fdfs/
5.在/usr/local/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录
#创建软连接
ln -s /usr/local/fastdfs/storage/data/ /usr/local/fastdfs/storage/data/M00
6.配置Nginx

简洁版 nginx 配置样例: 
user root; 
worker_processes 1; 
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8888;
        server_name  localhost;
        location ~/group([0-9])/M00 {
            #alias /fastdfs/storage/data;
            ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root html; 
        }
    } 
}
7.启动nginx
/usr/local/nginx/sbin/nginx

(重启 Nginx 的命令为:/usr/local/nginx/sbin/nginx -s reload)

FastDFS 伪分布安装_第7张图片
8.通过浏览器访问测试是上传的文件

http://100.98.22.254:8888/group1/M00/00/00/ZGIW_lpfEpeAKJFqAAVFOL7FJU4.tar.gz

注意:千万不要使用 kill -9 命令强杀 FastDFS 进程,否则可能会导致 binlog 数据丢失。

你可能感兴趣的:(FastDFS)