FastDFS 分布式的文件存储环境搭建


FastDFS环境安装包地址:http://download.csdn.net/detail/rzg813/9273935 (包含6个)

在Linux CentOS 6.5 环境下搭建FastDFS集群环境步骤:
注意,因为搭建此环境可能会多次反复操作,所以最好把基本软件存储到挂载硬盘中。
1. 相关软件包
FastDFS:http://sourceforge.net/projects/fastdfs/files/ 此处我们使用FastDFS_v5.02.tar.gz版本
libfastcommon:https://github.com/happyfish100/libfastcommon 可以使用git clone 到服务器
nginx:此处使用nginx-1.8.0.tar.gz
fastdfs-nginx-module:此处fastdfs-nginx-module_v1.16.tar.gz
nginx的依赖包:pcre-8.36.tar.gz、zlib-1.2.8.tar.gz

  1. 挂载硬盘命令
##挂载硬盘mount /dev/xvdb /wcnm
  1. 拷贝文件
##拷贝文件
//此目录为挂载硬盘的软件存储目录
cd /wcnm/soft_backup//git clone 到本地的文件
cp -rf  libfastcommon /usr/src/tar zxvf FastDFS_v5.02.tar.gz -C /usr/src/tar zxvf nginx-1.8.0.tar.gz -C /usr/src/tar zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/src/tar zxvf pcre-8.36.tar.gz -C /usr/src/tar zxvf zlib-1.2.8.tar.gz -C /usr/src/
其他命令是解压并拷贝文件到/usr/src/ 目录
  1. 安装libfastcommon
cd /usr/src/libfastcommonsh make.sh sh make.sh install##设置软链接
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

  1. 安装FastDFS_5.02
cd /usr/src/FastDFSsh make.sh sh make.sh install##检查是否安装成功
cd /etc/fdfs##创建文件存储目录:
mkdir /wcnm/storage##创建tracker的数据文件和日志目录
mkdir /home/fdfs/tracker##创建storage的数据文件和日志目录
mkdir /home/fdfs/storage
  1. 配置目录下的tracker.conf,设置相关的信息并保存。
vim /etc/fdfs/tracker.conf#修改如下内容:
#启用配置文件,设置为false表示启用disabled=false#设置tracker的端口号port=22122#设置tracker的数据文件和日志目录(目录需要预先创建)base_path=/home/fdfs/tracker#设置http端口号http.server_port=8080启动tracker,确认启动是否成功,查看端口22122是否开始监听
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
netstat -apn | grep fdfs
查看启动日志:
cat /home/fdfs/tracker/logs/*.log
  1. 安装Storage
###编辑配置文件目录下的storage.conf,设置相关的信息并保存
#启用配置文件disabled=false#组名,根据实际情况修改group_name=group1#设置storage的端口号port=23000#设置storage的数据文件和日志目录(目录需要预先创建)base_path=/fdfs/storage#存储路径个数,需要和store_path个数匹配store_path_count=1#存储路径store_path0=/fdfs/storage#tracker服务器的IP地址和端口号#集群配置则把tracker服务器的IP地址和端口号逐一列出tracker_server=10.116.25.240:22122tracker_server=192.168.7.202:22122#设置http端口号http.server_port=8080##启动storage,确认启动是否成功,查看端口23000是否开始监听
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
netstat -apn | grep fdfs
查看启动日志:
cat /home/fdfs/storage/logs/*.log确认启动storage后,可以运行fdfs_monitor查看storage服务器是否已登记到tracker服务器
/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf
netstat -apn | grep fdfs

  1. 安装Storage上对应的Nginx
    下载依赖:
    http://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz/download
    http://www.zlib.net/
    创建nginx的安装目录
    将代码包和插件(nginx-1.7.7、fastdfs-nginx-module_v1.16、zlib-1.2.8、pcre-8.36)复制/usr/local/src内,然后使用tar命令解压
mkdir /usr/local/nginx_storage

切换到nginx解压目录,运行./configure进行安装前的设置

./configure --prefix=/usr/local/nginx --add-module=/usr/src/fastdfs-nginx-module/src --with-pcre=/usr/src/pcre-8.36/ --with-zlib=/usr/src/zlib-1.2.8

运行make进行编译,确保编译成功
make
运行make install进行安装
make install

将FastDFS的nginx插件模块的配置文件copy到FastDFS配置文件目录
cp /usr/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
9. 编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,添加storage存储目录信息、

将server段中的listen端口号修改为8080listen 8080;在server段中添加://配置一个时,/group1/M00//多个时如下:
location /group[1-3]/M00 {root /fdfs/storage/data;ngx_fastdfs_module;}

编辑/etc/fdfs配置文件目录下的mod_fastdfs.conf,设置storage信息并保存。

一般只需要改动以下几个参数

base_path=/wcnm/storage           #保存日志目录tracker_server=10.116.25.240:22122 #tracker服务器的IP地址以及端口号
 //多台服务器配置多个
##tracker_server=192.168.7.202:22122 #tracker服务器的IP地址以及端口号storage_server_port=23000         #storage服务器的端口号group_name=group1                 #当前服务器的group名url_have_group_name = true        #文件url中是否有group名store_path_count=1                #存储路径个数,需要和store_path个数匹配store_path0=/wcnm/storage         #存储路径http.need_find_content_type=true  #从文件扩展名查找文件类型(nginx时为true)group_count = 1                   #设置组的个数

在末尾增加分组的具体信息:

[group1]group_name=group1storage_server_port=23000store_path_count=1store_path0=/wcnm/storage

建立M00至存储目录的符号连接

ln -s /wcnm/storage/data /wcnm/storage/data/M00

启动nginx,确认是否成功

/usr/local/nginx/sbin/nginx
  1. 测试
    此处测试是使用fastdfs自带的客户端进行测试
    配置/etc/fdfs/client.conf文件,修改以下参数
#日志存放路径base_path=/home/fdfs/tracker#tracker服务器IP地址和端口号##此ip可以是公网ip 也可以局域网ip
tracker_server=10.116.25.240:22122#tracker服务器的http端口号http.tracker_server_port=8080测试命令(图片abc.jpg在服务器):
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /home/abc.jpg
  1. 按上面配置完成后不能上传图,需要开启相应的端口:
iptables -A INPUT -p tcp --dport 22122 -j ACCEPT/etc/rc.d/init.d/iptables save/etc/rc.d/init.d/iptables restart

  1. 重新启动配置的服务
重启tracker
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
重启storage
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart/usr/local/nginx/sbin/nginxnginx重启:
cd /usr/local/nginx/sbin/
./nginx -s reload
  1. 浏览器访问

  2. 常用命令:

netstat -pan|grep 22122netstat -an | grep 22122netstat -anp 显示系统端口使用情况nc -lp 22122 &

注:
按上面配置完成后,即可使用代码上传文件!
此时重启服务器后,部分服务则因为没有启动而上传文件失败!
因此需要添加开机启动!

FastDFS 分布式的文件存储环境搭建相关推荐

  1. Hadoop 2.x 完全分布式HA集群环境搭建

    Hadoop 2.x 完全分布式HA集群环境搭建 目录 Hadoop 2.0 环境搭建 前提:环境准备 第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME环境变量 第二步:修改h ...

  2. Django集成古老的分布式文件存储系统fastdfs,解决文件存储难问题

    前言 这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题 于是乎,我自己开发了一款面试宝典,希 ...

  3. 【运维实战】1.FastDFS分布式的文件存储系统入门介绍与实践

    本章目录 0x00 基础介绍 0.前言 1.简介 2.特性 3.架构 Tracker Server Storage Server Client 4.存储策略 5.过程剖析 文件上传 - Upload ...

  4. 分布式基础篇1——环境搭建(谷粒商城)

    一.项目简介 1.电商模式 2.项目前置知识 3.项目技术&特色 4.项目架构图 5.微服务划分图 二.分布式基础概念 1.微服务 2.集群&分布式&节点 3.远程调用 4.负 ...

  5. 谷粒商城项目1——分布式基础概念、环境搭建

    二.分布式基础概念 1.微服务架构 一个单体应用开发为一套小服务,每个小服务在自己的进程中,并使用轻量级机制通信 拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行 2.集群.分布式 ...

  6. 谷粒商城项目篇1_分布式基础篇_分布式基础概念、环境搭建、创建项目

    写在前面 为丰富项目经验,特此学习B站开源视频<全网最强电商教程<谷粒商城>对标阿里P6/P7,40-60万年薪>希望通过此学习能巩固所学,将技术栈串接起来. 此项目三个阶段 ...

  7. fastDFS分布式文件系统--文件上传/下载/查询完整代码实现

    搭建环境 这里我们使用javaApi测试文件的上传,java版本的fastdfs-client地址在: https://github.com/happyfish100/fastdfs-client-j ...

  8. MinIO文件存储服务搭建

    MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器/虚拟机 ...

  9. 分布式期货行情交易系统-环境搭建

    一 硬件系统相关 硬件:阿里云ECS 4台(3台kafka + 1台各种服务主服务器)  8G内存+2核CPU 操作系统:Ubuntu 16.04 64位 带宽:16M(行情数据比较大,外网带宽太小可 ...

最新文章

  1. 测序数据的处理方法及装置制造方法及图纸
  2. python高级语法-collections模块下几个新序列
  3. 关于.NET编译的目标平台(AnyCPU,x86,x64)
  4. php基础教程 第十一步 面向对象
  5. 追加的英文计算机,Latex同时添加中英文摘要
  6. 计算机网络技术放块队解说词,基于《计算机网络技术》课程多媒体课件制作与设计.doc...
  7. Python常用小技巧(五)——批量读取json文件
  8. 编译器在构造函数里都做了些什么?
  9. java ognl 值栈_ognl-值栈基本操作
  10. vijos 1066 树状数组
  11. Jmeter-Beanshell
  12. PMP考试要多少费用
  13. 怎么查看ubuntu虚拟机ip地址?
  14. 小众但口碑好的便签软件
  15. 汇佳学校新推“未来艺术大师”项目 实现学术艺术双赢
  16. python列表的使用_python列表的使用
  17. iOS11缩小界面导航栏与标签栏异常的问题
  18. Express WEB 应用开发框架-姜威-专题视频课程
  19. DJI AirWorks|赛尔无人机携手大疆航测生态布局全球市场
  20. 二十年后我发明了保姆机器人作文_未来的保姆机器人作文

热门文章

  1. CFA课程打卡-2019.11.22
  2. html5怎么做成五行五列,word将文字转换成五行五列的表格怎么做
  3. 【工具】audacity提示声音设备出错
  4. 方钢管弹性模量计算方式_普通方钢承重计算公式
  5. 计算机调剂到mba,如何调剂到理想的MBA院校?
  6. ASTM 地球外太阳参考光谱标准 E490
  7. oracle表删除重复数据,oracle单表删除重复数据
  8. S3C2440 Nand Flash驱动(分析MTD层并制作NAND驱动)(二十三)
  9. 高清视频联网监控,实现一站式远程智控和管理
  10. 成功者所应具有的九大素质