• centos7下的FastDFS5.09的安装与使用


    FastDFS是一款开源的轻量级分布式文件系统,纯C实现,支持Linux、FreeBSD等Unix系统。

    类google FS,不是通用的文件系统,只能通过专有API访问。

    FastDFS服务端有两种角色:跟踪器(tracker)和存储节点(storage)。

    tracker主要做调度工作,在访问上起负载均衡的作用,在内存中记录集群中group和storage的状态信息,是连接client和storage的枢纽。

    storage存储服务器,文件和文件属性都保存到存储服务器上。

    一、安装fastdfs

    下载libfastcommon包

    https://github.com/happyfish100/libfastcommon/releases

    下载fastdfs源码包

    https://github.com/happyfish100/fastdfs/releases

    安装libfastcommon

    > tar xf libfastcommon-1.0.7.tar.gz
    > cd libfastcommon-1.0.7
    > ./make.sh
    > ./make.sh install

    安装fastdfs

    > tar xf fastdfs-5.09.tar.gz
    > cd fastdfs-5.09
    > ./make.sh
    > ./make.sh install

    如果出现ioevent.h:82:2: #error port me这样的错误,请下载最新版的libfastcommon并安装。

    二、环境说明

    创建两台虚拟主机,IP分别为192.168.1.222和192.168.1.233,分别安装fastdfs。

    三、fastdfs的配置文件

    配置文件默认在/etc/fdfs下
    默认脚本在/etc/init.d下

    创建两个目录,用来存放数据

    > mkdir -p /data/fdfs_tracker
    > mkdir -p /data/fdfs_storage

    复制配置文件

    > cd /etc/fdfs
    > cp storage.conf.sample storage.conf
    > cp tracker.conf.sample tracker.conf

    跟踪器的配置文件tracker.conf

    #绑定IP
    bind_addr=
    #端口
    port=22122
    #连接超时时间
    connect_timeout=30
    #日志数据路径
    base_path=/data/fdfs_tracker
    #上传文件时选择group的方法
    #0:轮询,1:指定组,2:选择剩余空间最大
    store_lookup=2
    #如果上面的配置是1,那么这里必须指定组名
    store_group=group2
    #上传文件时选择server的方法
    #0:轮询,1:按IP地址排序,2:通过权重排序
    store_server=0
    #storage上预留空间
    reserved_storage_space = 10%

    存储节点的配置文件storage.conf

    #storage server所属组名
    group_name=group1
    #绑定IP
    bind_addr=
    #storage server的端口
    port=23000
    #连接超时时间
    connect_timeout=30
    #日志数据路径
    base_path=/data/fdfs_storage/base
    #storage path的个数
    store_path_count=2
    #根据store_path_count的值,就要有storage0到storage(N-1)个
    store_path0=/data/fdfs_storage/storage0
    store_path1=/data/fdfs_storage/storage1
    #跟踪服务器
    tracker_server=192.168.1.222:22122
    tracker_server=192.168.1.233:22122

    创建目录,不然会出错

    > mkdir -p /data/fdfs_storage/base
    > mkdir -p /data/fdfs_storage/storage0
    > mkdir -p /data/fdfs_storage/storage1

    启动服务

    > /etc/init.d/fdfs_trackerd start
    > /etc/init.d/fdfs_storaged start

    查看服务是否启动

    > ps -ef|grep fdfs
    > netstat -nltp
    

      

    四、测试fastdfs

    配置client文件

    > cd /etc/fdfs
    > cp client.conf.sample client.conf
    > vi client.conf
    #存放日志目录
    base_path=/data/client
    #跟踪服务器
    tracker_server=192.168.1.222:22122
    tracker_server=192.168.1.233:22122

    创建client目录

    > mkdir -p /data/client

    通过fdfs_upload_file来测试(如果发生错误,请查看防火墙)

    > echo "12345678" >> /data/1.txt
    > fdfs_upload_file /etc/fdfs/client.conf /data/1.txt

    通过fdfs_download_file下载我们刚上传的文件

    > fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt

    查看文件信息

    > fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt

    追加文件

    > echo "hello" >> /data/2.txt
    > fdfs_upload_appender /etc/fdfs/client.conf /data/1.txt
    > fdfs_append_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3bxCEAcqhAAAAAIk0NhY869.txt /data/2.txt

    删除文件

    > fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt

    查看集群

    > fdfs_monitor /etc/fdfs/client.conf
    

      

    五、fastdfs的nginx模块

    下载pcre和nginx源码包

    https://ftp.pcre.org/pub/pcre/

    如:pcre-8.40.tar.gz

    http://nginx.org/en/download.html

    如:nginx-1.10.3.tar.gz

    https://github.com/happyfish100/fastdfs-nginx-module

    如:fastdfs-nginx-module-master.zip

    创建用户

    > useradd -s /sbin/nologin -M nginx

    安装pcre

    > tar xf pcre-8.40.tar.gz
    > cd pcre-8.40
    > ./configure --prefix=/data/pcre
    > make && make install

    安装nginx

    > yum install zlib-devel openssl-devel
    > unzip fastdfs-nginx-module-master.zip
    > tar xf nginx-1.10.3.tar.gz
    > cd nginx-1.10.3
    > ./configure --prefix=/data/nginx 
    > --with-pcre=/data/pcre-8.40 
    > --user=nginx 
    > --group=nginx 
    > --with-http_ssl_module 
    > --with-http_realip_module 
    > --with-http_stub_status_module 
    > --add-module=/data/fastdfs-nginx-module-master/src
    > make && make install

    拷贝配置文件

    > cd /data/fastdfs-nginx-module-master/src
    > cp mod_fastdfs.conf /etc/fdfs/
    > cd /data/fastdfs-5.09/conf
    > cp anti-steal.jpg http.conf mime.types /etc/fdfs/

    修改nginx.conf

    > vi /data/nginx/conf/nginx.conf
    server {
        listen 80;
        server_name localhost;
    
        location ~ /group[0-9]/M00 {
            ngx_fastdfs_module;
        }
    }

    修改mod_fastdfs.conf

    > vi /etc/fdfs/mod_fastdfs.conf
    #日志目录
    base_path=/tmp
    #跟踪服务器
    tracker_server=192.168.1.222:22122
    tracker_server=192.168.1.233:22122
    #url中是否有group名称
    url_have_group_name = true
    #storage path的个数
    store_path_count=2
    #根据store_path_count的值,就要有storage0到storage(N-1)个
    store_path0=/data/fdfs_storage/storage0
    store_path1=/data/fdfs_storage/storage1

    启动nginx

    > /data/nginx/sbin/nginx

    上传一个文件

    > echo "12345678" >> /data/1.txt
    > fdfs_upload_file /etc/fdfs/client.conf /data/1.txt

    然后通过nginx访问该文件

    http://192.168.1.222/group1/M00/00/00/wKgB6Vi3fGiAMsO2AAAAB2BGSN8003.txt
    
  • 相关阅读:
    301 重定向(iis,Apache,asp,php,ColdFusion,旧域名),永久重定向实现方法。
    转静态页的几种可行方案
    查看域名是否被搜索引擎惩罚(被K被封)过的几种方法
    网站优化工具推荐大全
    html Ajax读取数据
    ADO 读取Excel文件数据, 丢失数据或数据错误问题。
    百度K站解封之道(真实案例)
    舌苔发白是什么原因造成的?
    小技巧—设置IIS禁止网站放下载电影文件
    SQL Server利用数据库日志恢复数据到时间点的操作
  • 原文地址:https://www.cnblogs.com/jkko123/p/6490744.html
Copyright © 2020-2023  润新知