1.关于集群,网上说最少要三台,其实也没必要,两台就够了

2.实验环境

192.168.2.201  tracker、storage、nginx + fastdfs-nginx-module-master + ngx_cache_purge   keepalived

192.168.2.202  tracker、storage、nginx + fastdfs-nginx-module-master + ngx_cache_purge   keepalived

结构如上图所示:

开始搭建

1.准备:

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel -y

2.安装libfastcommon

 解压libfastcommon-master.zip
[root@Node202 fastdfs-master]# cd /data/softwares/fastdfs [root@Node202 opt]# unzip -o libfastcommon-master.zip -d /usr/local [root@Node202 opt]# cd /usr/local/libfastcommon-master/ [root@Node202 libfastcommon-master]# ./make.sh [root@Node202 libfastcommon-master]# ./make.sh install

3.安装 fastdfs

 cd /data/softwares/fastdfs
unzip -o fastdfs-master.zip -d /usr/local
cd /usr/local/fastdfs-master
./make.sh
./make.sh install

4.拷贝配置文件

将fastdfs安装目录下的conf下的文件拷贝到/etc/fdfs/下

root@Node202 fastdfs-master]# cp -r conf/* /etc/fdfs/

fdfs可执行命令
[root@Node202 fdfs]# ll /usr/bin/fdfs*

5.配置并启动trackerd

 修改trackerd.conf
[root@Node202 fdfs]# cd /etc/fdfs/
[root@Node202 fdfs]# vim tracker.conf base_path=/data/fastdfs # 存储日志和数据的根目录 其它参数保留默认配置, 具体配置解释可参考官方文档说明:http://bbs.chinaunix.net/thread-1941456-1-1.html 创建trackerd数据、日志目录
[root@Node202 fdfs]# mkdir -p /data/fastdfs 启动trackerd
[root@Node202 fdfs]# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
日志:/data/fastdfs/logs/trackerd.log [root@Node202 fdfs]# ps -ef | grep fdfs

6.配置并启动storaged

修改storage.conf

[root@Node202 fdfs]# cd /etc/fdfs/

[root@Node202 fdfs]# vim storage.conf

  base_path=/data/fastdfs
store_path0=/data/fastdfs
tracker_server=192.168.2.202:22122,这个ip改成自己的 启动storaged
[root@Node202 fdfs]# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
日志:/data/fastdfs/logs/storaged.log

7.FastDFS 和nginx整合

7.1 fastdfs-nginx-module模块,作用:通过nginx访问时,当访问的节点文件不存在时(没有同步过来),此模块会自动寻找源文件所属机器。

解压
[root@Node202 00]# cd /data/softwares/fastdfs
[root@Node202 opt]# unzip -o fastdfs-nginx-module-master.zip -d /usr/local 拷贝配置文件
[root@Node202 opt]# cd /usr/local/fastdfs-nginx-module-master/src
[root@Node202 src]# cp mod_fastdfs.conf /etc/fdfs/ 编辑配置文件
[root@Node202 src]# cd /etc/fdfs/
[root@Node202 fdfs]# vim mod_fastdfs.conf
base_path=/data/fastdfs
tracker_server=192.168.2.202:22122
url_have_group_name = true;#url中包含group名称
store_path0=/data/fastdfs

7.2 ngx_cache_purge模块 作用:删除缓存

解压缓存模块
[root@Node11 fdfs]# cd /data/softwares/fastdfs/
[root@Node11 fastdfs]# tar -zxvf ngx_cache_purge-2.3.tar.gz -C /usr/local/

8. 安装nginx

8.1 nginx依赖包安装

[root@Node202 fdfs]# cd /opt
[root@Node202 opt]# yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

8.2 安装nginx

解压nginx
[root@Node202 opt]# tar -zxvf nginx-1.14.2.tar.gz 安装nginx并添加两个模块
[root@Node202 opt]# cd /data/softwares/fastdfs/nginx-1.14.2
[root@Node202 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src --add-module=/usr/local/ngx_cache_purge-2.3 [root@Node202 nginx-1.14.2]# make
[root@Node202 nginx-1.14.2]# make install

8.3 检验nginx

检查nginx模块
[root@Node12 nginx-1.14.2]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src --add-module=/usr/local/ngx_cache_purge-2.3 [root@Node202 opt]# /usr/local/nginx/sbin/nginx -t
ngx_http_fastdfs_set pid=13287
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

9.配置nginx配置文件

注意:创建文件夹:
mkdir -p /data/fastdfs/cache/nginx/proxy_cache/tmp

vim /usr/local/nginx/conf/nginx.conf

    proxy_cache_path /data/fastdfs/cache/nginx/proxy_cache levels=1:2 keys_zone=http-cache:200m max_size=1g inactive=30d;
proxy_temp_path /data/fastdfs/cache/nginx/proxy_cache/tmp; upstream fdfs_group1{
server 192.168.0.115:8888 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.0.244:8888 weight=1 max_fails=2 fail_timeout=30s;
} server {
listen 8888;
server_name 192.168.0.244; location ~/group[0-9]/ {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 200 304 12h;
proxy_cache_key $uri$is_args$args;
proxy_pass http://fdfs_group1;
expires 30d; ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

10.启动nginx

启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 重启nginx
/usr/local/nginx/sbin/nginx -s reload

11. 验证fastdfs上传功能

修改客户端文件:
vim /etc/fdfs/client.conf
base_path=/data/fastdfs
tracker_server=192.168.0.115:22122
tracker_server=192.168.0.244:22122 上传: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/fu2.jpg 192.168.2.202:23000 0
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /opt/fu.jpg 访问:
http://192.168.2.202:8888/group1/M00/00/00/wKgCylxQETeAZMTBAADsE2xyRuI261.jpg

12. 开机启动

将Tracker加入开机启动项

# cp /usr/fastdfs/FastDFS/init.d/fdfs_trackerd /etc/init.d/
# chkconfig --add fdfs_trackerd
# chkconfig fdfs_trackerd on 将Storage加入开机启动项 # cp /usr/fastdfs/FastDFS/init.d/fdfs_storaged /etc/init.d/
# chkconfig --add fdfs_storaged
# chkconfig fdfs_storaged on netstat -unltp | grep fdfs

 

Fastdfs集群搭建的更多相关文章

  1. 【开源组件】FastDFS集群搭建与实战

    FastDFS是一个轻量级的分布式文件系统,在实际生产环境往往以集群的形式部署,保证了服务的高可用.本文重点阐述FastDFS集群的搭建和项目实战. 工作流程 上传流程图 下载流程图 基本概念可参考作 ...

  2. fastdfs 集群搭建

    1.部署FastDFS及Nginx (本套FastDFS为简化版安装部署,只需解压至普通用户家目录下或者任意目录,解压后修改脚本,执行脚本后即可使用.) 说明:FastDFS分为tracker(默认端 ...

  3. 19.fastDFS集群理解+搭建笔记

    软件架构理解 1FastDFS介绍 1.1什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并 ...

  4. FastDFS教程IV-文件服务器集群搭建

    1.简介     本文主要介绍FastDFS文件服务器的集群搭建,在阅读本文之前,您需具备FastDFS文件服务器单节点安装,扩容,迁移等方面的知识.同时,您还需了解Keepalived,nginx方 ...

  5. fastdfs集群版搭建(一)- storage集群搭建与统一入口访问

    前言 接着上篇博客:详细的最新版fastdfs单机版搭建,今天来讲讲fastdfs的集群搭建,限于篇幅,今天先搭建stoarge集群,并实现统一的http访问方式: 没看我上篇博客的小伙伴,最好先去瞅 ...

  6. FastDFS+nginx+keepalived集群搭建

    安装环境 nginx-1.6.2 libfastcommon-master.zip FastDFS_v5.05.tar.gz(http://sourceforge.net/projects/fastd ...

  7. 手把手教你搭建FastDFS集群(下)

    手把手教你搭建FastDFS集群(下) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...

  8. 手把手教你搭建FastDFS集群(中)

    手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...

  9. 手把手教你搭建FastDFS集群(上)

    手把手教你搭建FastDFS集群(上) 本文链接:https://blog.csdn.net/u012453843/article/details/68957209        FastDFS是一个 ...

随机推荐

  1. csu 1958: 数字游戏

    1958: 数字游戏 Submit Page   Summary   Time Limit: 2 Sec     Memory Limit: 128 Mb     Submitted: 134     ...

  2. nginx 工作原理总结

    1.  Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(locat ...

  3. 微信公众号对接JS-SDK接口 调用微信内置地图

    微信js-sdk开发文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 1.页面配置 引用微信js- ...

  4. kubernetes 部署ingress

    kubernetes Ingess 是有2部分组成,Ingress Controller 和Ingress服务组成,常用的Ingress Controller 是ingress-nginx,工作的原理 ...

  5. IdentityServer4 学习一

    网上找的关于IdentityServer4的百度脑图 http://naotu.baidu.com/file/75b251257ce27cfa62e0ad7f47b75576?token=e2db61 ...

  6. K8S从入门到放弃系列-(1)环境初始化

    一.系统规划  主机名 IP   组件  k8s-master01 10.10.0.18 etcd.kube-apiserver.kube-controller-manager.kube-schedu ...

  7. python面向对象基础-01

    面向对象(OOP)基本概念 前言 话说三国时期曹军于官渡大败袁绍,酒席之间,曹操诗兴大发,吟道:喝酒唱歌,人生真爽! 众将直呼:"丞相好诗",于是命印刷工匠刻板印刷以流传天下; 待 ...

  8. awesome-javascript

    一系列令人敬畏的浏览器端JavaScript库,资源和闪亮的东西. 令人敬畏的JavaScript 包管理员 装载机 捆扎机 测试框架 QA工具 MVC框架和库 基于节点的CMS框架 模板引擎 文章/ ...

  9. MySQL AND 和 OR 联合使用带来的坑

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  10. C#如何调用C++(进阶篇)

    上一篇文章最后,提出的一个问题:如果一个c++库中有很多方法,需要一个个声明??这样岂不是要写很多代码??,而且没有智能提示看到提供了那些方法. 如下图: 如果有朋友需要用这种方式调用,而又不知道怎么 ...