安装环境
    FastDFS_v5.05.tar.gz(http://sourceforge.net/projects/fastdfs/files/)
    fastdfs-nginx-module_v1.16.tar.gz
    libfastcommon-master.zip
    ngx_cache_purge-2.3.tar.gz
    nginx-1.6.2(https://www.cnblogs.com/cac2020/p/9524197.html)
    
    VM虚拟机redhat6.5-x64:192.168.1.202、192.168.1.203
  Xshell4
部署方案
    202:Tracker
    203:Storage、nginx
    fastDFS主程序目录:/usr/local/lib
    
安装步骤
    步骤一:安装依赖gcc gcc-c++(202、203都要安装,使用ISO作为yum本地源:https://www.cnblogs.com/icerain0/p/9009660.html)
    
    yum install make cmake gcc gcc-c++
    
    步骤二:安装libfastcommon(202、203都要安装)
    
    #解压
    unzip libfastcommon-master.zip -d /usr/local/fast/
    #编译 安装 注意安装的路径,libfastcommon默认安装到了/usr/lib64/这个位置
    cd /usr/local/fast/libfastcommon-master && ./make.sh && ./make.sh install
    
    #我们设定主程序目录为/usr/local/lib/ 需要在目录创建软连接
    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(202、203都要安装)
    
    #解压
    tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
    #编译 安装
    cd /usr/local/fast/FastDFS/ && ./make.sh && ./make.sh install
    #说明:
    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_*的一些列执行脚本
    cd /usr/bin/ && ls | grep fdfs
    
    FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/usr/bin/下面。
    所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩个配置文件:
    命令:vim /etc/init.d/fdfs_storaged
    进行全局替换命令:%s+/usr/local/bin+/usr/bin
    命令:vim /etc/init.d/fdfs_trackerd
    进行全局替换命令:%s+/usr/local/bin+/usr/bin
    
    步骤四:配置跟踪器 202节点
    
    #修改tracker配置文件(http://bbs.chinaunix.net/thread-1941456-1-1.html)
    cd /etc/fdfs/ && cp tracker.conf.sample tracker.conf
    mkdir -p /fastdfs/tracker && vim /etc/fdfs/tracker.conf
    #修改base_path目录
    base_path=/fastdfs/tracker
    
    步骤五:关闭防火墙-202 (生产环境)
    vim /etc/sysconfig/iptables
    添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
    重启:service iptables restart
    
    步骤六:启动跟踪器
    目录命令:cd /fastdfs/tracker/ && ll
    启动tracker命令:/etc/init.d/fdfs_trackerd start
    查看进程命令:ps -el | grep fdfs
    停止tracker命令:/etc/init.d/fdfs_trackerd stop
    
    设置开机启动跟踪器:
    命令:vim /etc/rc.d/rc.local
    加入配置:/etc/init.d/fdfs_trackerd start
    
    
    步骤七:配置FastDFS存储storage(203)
    
    #修改storage.conf文件
    cd /etc/fdfs/ && cp storage.conf.sample storage.conf
   #创建存储目录

mkdir -p /fastdfs/storage && vim /etc/fdfs/storage.conf

#修改内容:
    base_path=/fastdfs/storage
    store_path0=/fastdfs/storage
    tracker_server=192.168.1.202:22122
    http.server_port=8888
    
    步骤八:打开防火墙-203(生产环境)
    命令:vim /etc/sysconfig/iptables
    添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
    重启:service iptables restart
    
    步骤九:启动存储(storage)
    启动:/etc/init.d/fdfs_storaged start  (初次启动成功后会在/fastdbf/storage/ 目录下创建 data、logs俩个目录)
    关闭:/etc/init.d/fdfs_storaged stop
    设置开机启动:vim /etc/rc.d/rc.local
    加入配置:/etc/init.d/fdfs_storaged start

查看FastDFS storage 是否启动成功
    命令:ps -ef | grep fdfs
    /fastdfs/storage/data/文件夹下会生成一些目录文件(256*256个)
    cd /fastdfs/storage/data/ && ls

启动存储器报错示例:

[2018-08-27 22:42:34] ERROR - file: storage_ip_changed_dealer.c, line: 180, connect to tracker server 192.168.1.202:22122 fail, errno: 113, error info: No route to host

原因:防火墙未关闭 ,执行命令:/etc/init.d/iptables stop

测试----使用客户端上传文件,在tracker(跟踪器-202)中上传
    1.编辑client.conf文件
    命令:cd /etc/fdfs/ && cp client.conf.sample client.conf
    命令:vim /etc/fdfs/client.conf
    修改内容:
    base_path=/fastdfs/tracker
    tracker_server=192.168.1.202:22122
    
    2.找到命令的脚本位置,并且使用命令fdfs_upload_file,进行文件的上传
    cd /usr/bin/ && ls | grep fdfs
    /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz

[root@ bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5..tar.gz
group1/M00///wKgBy1uEExGAcJp0AAVFOL7FJU4.tar.gz

一般首次上传第一个文件会保存在storage(203)下/fastdfs/storage/data/00/00,目录里
    cd /fastdfs/storage/data/00/00 && ls

[root@ ]#  cd /fastdfs/storage/data// && ls
wKgBy1uEExGAcJp0AAVFOL7FJU4.tar.gz

至此 fastdfs安装完毕!!!

----------------------------------------FastDFS与Nginx整合-----------------------------------------------------
整合操作
    一、首先两台机器里必须先安装nginx (202、203)
    参考:https://www.cnblogs.com/cac2020/p/9524197.html
    
    二、存储节点-storage(203) 安装fastdfs-nginx-module_v1.16.tar.gz    
    #解压
    cd /usr/local/software/ && tar -zxvf /usr/local/software/fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
    #编辑配置文件config
    cd /usr/local/fast/fastdfs-nginx-module/src/ && vim /usr/local/fast/fastdfs-nginx-module/src/config
    修改内容:去掉下图中的local文件层次
    

  第四行修改为: CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

 三、FastDFS与nginx进行集成
    首先把之前的nginx进行删除
    cd /usr/local/ && rm -rf nginx
    加载fastdfs模块 重新配置
    cd /usr/local/nginx-1.6.2/ && ./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
    重新编译 安装
    make && make install
    
    复制 修改fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中
    cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
    vim /etc/fdfs/mod_fastdfs.conf
    修改内容:比如连接超时时间、跟踪器路径配置、url的group配置、
    connect_timeout=10
    tracker_server=192.168.1.202:22122
    url_have_group_name = true
    store_path0=/fastdfs/storage
    
    cd /usr/local/fast/FastDFS/conf/ && cp http.conf mime.types /etc/fdfs/
    创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录。
    命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
    
    #修改Nginx配置文件
    vim /usr/local/nginx/conf/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)
    
    最后检查防火墙,并启动nginx服务
    /usr/local/nginx/sbin/nginx
    
    使用上传文件ID用浏览器访问地址:http://192.168.1.203:8888/group1/M00/00/00/wKgBy1uEExGAcJp0AAVFOL7FJU4.tar.gz

注意
    使用FastDFS的时候,需要正常关机,不要使用kill -9强杀FastDFS进程,不然会在文件上传时出现丢数据的情况。
    汇总启停命令:
    启动命令:
    启动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单节点安装 & FastDFS+Nginx整合的更多相关文章

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

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

  2. FastDFS单节点安装

    百度百科:https://baike.baidu.com/item/fastdfs/5609710?fr=aladdin 相关软件包: 链接:https://pan.baidu.com/s/11nO2 ...

  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. 【咸鱼教程】基于系统时间的计时器DateTimer(不受FPS影响)

    教程目录一 计时器简介二 计时器实现三 Demo下载 一 计时器简介在手机上跑游戏时,可能由于运动物体过多,导致帧频太低,计时不准确.比如一些倒计时的游戏,可能倒计时30s,变成了35s.比如ipho ...

  2. 预编译 ASP.NET 网站以进行部署

    预编译 ASP.NET 网站以进行部署和更新 打开一个命令窗口并定位到包含 .NET Framework 的文件夹. .NET Framework 将安装在以下位置. %windir%\Microso ...

  3. iOS property中的strong 、weak、copy 、assign 、retain 、unsafe_unretained 与autoreleasing区别和作用详解

    iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存.但是学习还是很有必要的. 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都 ...

  4. TensorFlow softmax的互熵损失

    函数:tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 功能:这个函数的作用是计算 logits 经 softmax ...

  5. 【紫书】BigInteger 高精度类型 原书上有一个bug:A+B!=B+A

    存个代码 struct BigInterger { static const int BASE = 1e8; ; vector<int> s; BigInterger() { *this ...

  6. Docker基本命令与使用 —— Docker容器(一)

    一.容器的基本操作 1. 启动容器 docker run IMAGE [COMMAND] [ARG...] run 在新容器中执行命令 eg: docker run ubuntu echo 'Hell ...

  7. -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

    本人使用mac系统,命令行工具使用的iterm2,登录自己的云主机的时候 每次都要提示如下错误 -bash: warning: setlocale: LC_CTYPE: cannot change l ...

  8. GP服务中无Tasks

    发布GP服务,之后执行GP服务时,发现无Tasks,如下图所示 正常情况应该如下图 问题原因在于,arcmap与server版本不一致~~ (10.4.1arcmap 与 10.2.2 server) ...

  9. 洛谷P2679 子串 [noip2015] dp

    正解:dp 解题报告: 感觉是道dp好题啊,所以就写了个题解 代码实现难度低,思维难度大,像我这种思维僵化傻逼选手只想到了爆搜+组合数学... 其实是道很妙的dp题!好趴也没有多妙主要大概是妙在想到了 ...

  10. CSS3实现背景透明,文字不透明

    最近遇到一个需求,要在图片上显示带有半透明背景的文字,效果如下图所示: 看到这个需求之后,第一反应是使用CSS3中的opacity设置元素的透明度. <!DOCTYPE html> < ...