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
下载安装包可以从如下地址下载( 点击打开链接)。 http://download.youkuaiyun.com/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 root@100.98.22.253:/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
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
配置文件(样例配置文件):
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
命令工具在/usr/bin目录下:
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
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 编译的时候会报错的)
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)
8.通过浏览器访问测试是上传的文件
http://100.98.22.254:8888/group1/M00/00/00/ZGIW_lpfEpeAKJFqAAVFOL7FJU4.tar.gz
注意:千万不要使用 kill -9 命令强杀 FastDFS 进程,否则可能会导致 binlog 数据丢失。