zoukankan      html  css  js  c++  java
  • FastDFS单节点安装 & FastDFS+Nginx整合


    安装环境
        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@202 bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
    group1/M00/00/00/wKgBy1uEExGAcJp0AAVFOL7FJU4.tar.gz

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

    [root@203 00]#  cd /fastdfs/storage/data/00/00 && 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

  • 相关阅读:
    PAT1118:Birds in Forest
    PAT1112:Stucked Keyboard
    PAT1091:Acute Stroke
    Java基础006 --- 类、接口、对象
    Java基础005 --- 安全管理器、可变参数等
    Java基础004 --- BigInteger和BigDecimal
    Java基础003 --- 原始数据类型
    maven完整学习笔记(2)--- 依赖范围和依赖传递
    maven完整学习笔记(1)--- 基本概念及基础命令
    Java编译器007---javac 其它选项
  • 原文地址:https://www.cnblogs.com/cac2020/p/9534967.html
Copyright © 2011-2022 走看看