百度百科:https://baike.baidu.com/item/fastdfs/5609710?fr=aladdin

相关软件包:

链接:https://pan.baidu.com/s/11nO2bOqBWPjtAlzATYo38Q  提取码:x1a3 

安装:

1,安装之前首先linux上要有gcc包。

2,安装libfastcommon

3,安装FastDFS

4,配置跟踪器(tracker)

5,配置存储器(storage)

6,环境搭建完成,可以进行测试环境是否搭建成功

7,跟踪器和存储器安装nginx,对nginx进行整合,实现使用浏览器下载文件

启用和关闭服务顺序,跟踪器、存储器、Nginx

环境准备,两台centos:

192.168.85.6   ------  跟踪器(tracker)、

192.168.85.7 ------- 存储节点(storage)

下载软件:http://sourceforge.net/projects/fastdfs/files/

第一步,安装之前linux上要有gcc包。

安装gcc,命令:yum install make cmake gcc gcc-c++

直到出现Complete!下载完成

第二步,安装libfastcommon(俩台机器同时进行)

1, 将相关软件包上传至linux:

2,进入 /lhy/software 目录下,进行解压libfastcommon-master.zip:

  命令:unzip libfastcommon-master.zip -d /usr/local/fast/

解压后 /usr/local/fast:

3,进入目录:cd /usr/local/fast/libfastcommon-master/

4, 进行编译和安装:
命令:./make.sh
命令:./make.sh install

注意安装的路径:也就是说,我们的libfastcommon默认安装到了/usr/lib64/这个位置。

下面进行修改,创建软链接,使其更符合常规安装目录

4,进行软链接创建。FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。

命令:mkdir /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.so

第三步,安装FastDFS

1 进入到cd /lhy/software下,解压FastDFS_v5.05.tar.gz文件
命令:cd /lhy/software
命令:tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/

2 安装编译
命令:cd /usr/local/fast/FastDFS/
编译命令:./make.sh

安装命令:./make.sh install   ,编译后会创建一些文件夹,但是不符合平常的习惯

3 采用默认安装方式脚本文件说明:

(1)、服务脚本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd

(2)、配置文件在

/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample

(3)、  命令行工具在/usr/bin/目录下

  Fdfs_*的一些列执行脚本

4、因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/usr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩个配置文件:

命令:vim /etc/init.d/fdfs_storaged

先按esc键,然后 shift+: ,在此处输入命名,进行替换,把 /usr/local/bin 替换为/usr/bin :
进行全局替换命令:%s+/usr/local/bin+/usr/bin

命令:vim /etc/init.d/fdfs_trackerd
进行全局替换命令:%s+/usr/local/bin+/usr/bin

 第四步  配置跟踪器(192.168.85.6 节点)

1 进入 cd  /etc/fdfs/目录配置跟踪器文件(注意是192.168.85.6节点),把tracker.conf.sample文件进行cope一份:去修改tracker.conf文件

2 修改tracker.conf文件
命令:vim /etc/fdfs/tracker.conf
如下图所示:我们暂时修改配置文件里的base_path即可。

修改为自己的路径地址:base_path=/fastdfs/tracker
注意:对于tracker.conf配置文件参数解释可以找官方文档,地址为:
http://bbs.chinaunix.net/thread-1941456-1-1.html

3 最后我们一定要创建之前定义好的目录(也就是/fastdfs/tracker):
命令:mkdir -p /fastdfs/tracker

4 关闭防火墙:(我们在学习时可以不用考虑防火墙的问题)
Vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启:service iptables restart

5 启动跟踪器

启动后会建立data、logs目录

目录命令:cd /fastdfs/tracker/ && ll
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
停止tracker命令:/etc/init.d/fdfs_trackerd stop

6
可以设置开机启动跟踪器:(一般生产环境需要开机启动一些服务,如keepaliv
ed、linux、tomcat等等)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_trackerd start

第五步:配置FastDFS存储(192.168.85.7)

1 进入文件目录:cd /etc/fdfs/,进行copy storage文件一份
命令:cd /etc/fdfs/
命令:cp storage.conf.sample storage.conf

2 修改storage.conf文件
命令:vim /etc/fdfs/storage.conf
修改内容:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.1.172:22122
http.server_port=8888

3 创建存储目录:mkdir -p /fastdfs/storage

4 打开防火墙:
命令:vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启:service iptables restart

5 启动存储(storage)
命令:/etc/init.d/fdfs_storaged start (关闭:/etc/init.d/fdfs_storaged stop)
(初次启动成功后会在/fastdbf/storage/ 目录下创建 data、logs俩个目录)

6 查看FastDFS storage 是否启动成功

命令:ps -ef | grep fdfs

并且我们进入到/fastdfs/storage/data/文件夹下会看到一些目录文件(256*256)
,如下:
命令:cd /fastdfs/storage/data/ && ls

7同理,也可以设置开机启动存储器:(一般生产环境需要开机启动一些服务,
如keepalived、linux、tomcat等等)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_storaged start

到此为止我们的FastDFS环境已经搭建完成!

第六步,测试环境

1 我们先使用命令上传一个文件。注意:是在tracker(跟踪器)中上传。
首先我们在跟踪器(192.168.85.6)里copy一份client.conf文件。

命令:cd /etc/fdfs/
命令:cp client.conf.sample client.conf

2 编辑client.conf文件
命令:vim /etc/fdfs/client.conf
修改内容:
base_path=/fastdfs/tracker
tracker_server=192.168.85.6:22122

3 我们找到命令的脚本位置,并且使用命令,进行文件的上传:
命令:cd /usr/bin/
命令:ls | grep fdfs

4 使用命令fdfs_upload_file进行上传操作:

首先,我们先看一下存储器(192.168.85.7),进入到data下,在进入00文件夹下,发现00文件夹下还有一堆文件夹,然后继续进入00文件夹下,最终我们所

进入的文件夹为:
/fastdfs/storage/data/00/00 里面什么文件都没有。

然后,我们进行上传操作,比如把之前的/lhy/software/文件夹下的某一个文件上传到FastDFS系统中去,在跟踪器(192.168.85.6)中上传文件,命令如下:

命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /lhy/software/FastDFS_v5.05.tar.gz

最后我们发现,命令执行完毕后,返回一个group1/M00/00/00/...的ID,其实就是返回当前所上传的文件在存储器(192.168.85.6)中的哪一个组、哪一个目录位置,所以我们查看存储器中的/fastdfs/storage/data/00/00文件夹位置,发现已经存在了刚才上传的文件,到此为止,我们的测试上传文件已经OK了。如下:

继续上传一张图片,以便后来使用:

group1/M00/00/00/wKhVB1x9DoOARpcsAAIA416aNts636.png

第七步、FastDFS与Nginx整合

1, 首先两台机器里必须先安装nginx( https://www.cnblogs.com/lihaoyang/p/10381021.html  )

2,然后我们在存储节点上(192.168.85.7)安装 fastdfs-nginx-module_v1.16.tar.gz 包进行整合。

3 进入目录:cd fastdfs-nginx-module/src/

4 编辑配置文件config
命令: vim /usr/local/fast/fastdfs-nginx-module/src/config
修改内容:去掉下图中的local文件层次

修改为:

5 FastDFS与nginx进行集成
首先把之前的nginx进行删除
目录命令:cd /usr/local/
删除命令:rm -rf nginx
进入到nginx目录命令:cd nginx-1.6.2/
加入模块命令:./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
重新编译命令: make && make install

6 复制fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中,如图所示:

cd /usr/local/fast/fastdfs-nginx-module/src/

copy命令:cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

7 进行修改 /etc/fdfs/ 目录下,我们刚刚copy过来的mod_fastdfs.conf 文件。

命令:vim /etc/fdfs/mod_fastdfs.conf
修改内容:比如连接超时时间、跟踪器路径配置、url的group配置、
connect_timeout=10
tracker_server=192.168.85.6:22122
url_have_group_name = true
store_path0=/fastdfs/storage

8 复制FastDFS里的2个文件,到/etc/fdfs目录中,如图所示:

目录命令:cd /usr/local/fast/FastDFS/conf/

Copy命令:cp http.conf mime.types /etc/fdfs/

9
创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据
的目录。
命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00

10 修改Nginx配置文件,如图所示:

cd /usr/local/nginx/conf/

命令:vim nginx.conf
修改配置内容如下图所示:

修改内容为:
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
#alias /fastdfs/storage/data;
ngx_fastdfs_module;
}

注意:nginx里的端口要和第五步 配置FastDFS存储中的storage.conf文件配置一致,也就是(http.server_port=8888)

11 最后检查防火墙,然后我们启动nginx服务

启动命令:/usr/local/nginx/sbin/nginx,我们刚才上传了一个文件,上传成功,
如图:

group1/M00/00/00/wKhVB1x9DoOARpcsAAIA416aNts636.png

现在我们使用这个ID用浏览器访问地址:

http://192.168.85.7:8888/group1/M00/00/00/wKhVB1x9DoOARpcsAAIA416aNts636.png

运维注意:我们在使用FastDFS的时候,需要正常关机,不要使用kill -9
强杀FastDFS进程,不然会在文件上传时出现丢数据的情况。
到此,我们的FastDFS与Nginx整合完毕!!

八:启动停止服务步骤如下:
启动命令:
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
启动storage命令:/etc/init.d/fdfs_storaged start
查看进程命令:ps -el | grep fdfs
启动nginx命令:/usr/local/nginx/sbin/nginx
停止命令:
停止tracker命令:/etc/init.d/fdfs_trackerd stop
关闭storage命令:/etc/init.d/fdfs_storaged stop
关闭nginx命令:/usr/local/nginx/sbin/nginx -s stop

FastDFS单节点安装的更多相关文章

  1. FastDFS单节点安装 & FastDFS+Nginx整合

    安装环境    FastDFS_v5.05.tar.gz(http://sourceforge.net/projects/fastdfs/files/)    fastdfs-nginx-module ...

  2. Centos7 单节点安装 FastDFS + FastDHT服务

    Centos7 单节点安装 FastDFS + FastDHT服务 1.安装gcc(编译时需要) FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果 ...

  3. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装

     Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...

  4. hbase伪分布式安装(单节点安装)

    hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart   1.    前提配置好java,环境java变量     上传jdk ...

  5. vertica单节点安装教程

    [准备] 1.CentOS 7.6的镜像盘(下载地址:官网) 2.vertica-9.1.0-0.x86_64.RHEL6(下载地址:https://pan.baidu.com/s/1IjWBUTku ...

  6. 二、hdfs单节点安装

    一.准备环境 在配置hdfs之前,我们需要先安装好hadoop的配置,本文主要讲述hdfs单节点的安装配置. hadoop的单节点安装配置请参考:https://www.cnblogs.com/lay ...

  7. 一、hadoop单节点安装测试

    一.hadoop简介 相信你或多或少都听过hadoop这个名字,hadoop是一个开源的.分布式软件平台.它主要解决了分布式存储(hdfs)和分布式计算(mapReduce)两个大数据的痛点问题,在h ...

  8. Flume 学习笔记之 Flume NG概述及单节点安装

    Flume NG概述: Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中.轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均 ...

  9. Redis02——Redis单节点安装

    Redis单节点安装 一.Redis的数据类型 string hash list set zset 二.安装 2.1.下载 wget http://download.redis.io/releases ...

随机推荐

  1. tab页

    图片: 代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...

  2. js判断是手机端还是pc端访问

    if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { window.location.href = " ...

  3. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

  4. cpp 区块链模拟示例(一)工程建立

    /* 作 者: itdef 欢迎转帖 请保持文本完整并注明出处 技术博客 http://www.cnblogs.com/itdef/ 技术交流群 群号码:432336863欢迎c c++ window ...

  5. Chapter3_操作符_别名机制

    Java中的别名机制实际体现的是对于“=”这一类赋值操作符的使用规则和内涵.“=”的实际内涵是指将右边的变量的值(对于基本数据类型而言)或者某一个对象的引用(对于某个具体对象而言)复制到左边的变量名所 ...

  6. RQNOJ 2 开心的金明

    一道基础的01背包,要是不明白可以自己搜一下背包九讲,自己刚开始数组开小了,题目看串了行,找了半天,小错还是要格外注意的. #include <iostream> #include < ...

  7. Django的一些隐性经验

    隐性经验 前后信息的沟通 url中的参数 get获取 这个参数可以写在URL当中(可以写多个,写在这里的get函数需要有相应的参数去获取).,也可以在模版中添加(通过?若是直接写则表示在当前的URL中 ...

  8. 解决eclipse运行内存溢出方案

    1.在工具栏找到Window -> Preference 2.双击选择的jdk 3.在VM输入以下设置运行的内存的大小即可(具体内存大小可以根据项目进行设置) -Xms800m -Xmx800m ...

  9. Coding能力提升小技巧

    一.使用变量的一般原则 1.变量初始化原则: 通常在变量声明时初始化; 在靠近变量第一次使用的位置初始化; 在类的构造函数里初始化变量. 2.作用域: 使变量引用局部化,即把引用到变量的地方尽可能集中 ...

  10. 2018.09.22 上海大学技术分享 - An Introduction To Go Programming Language

    老实说笔者学习 Go 的时间并不长,积淀也不深厚,这次因缘巧合,同组的同事以前是上海大学的开源社区推动者之一,同时我们也抱着部分宣传公司和技术分享的意图,更进一步的,也是对所学做一个总结,所以拟定了这 ...