zoukankan      html  css  js  c++  java
  • FastFDS安装及简单使用

    1. FastDFS安装(ubuntu)

    需要准备:

    nginx、fastdfs、libfastcommon、gcc、git

    apt-get update
    apt-get -y install  make  gcc git
    

    1.1 下载安装libfastcommon(项目通用函数库)

    1)git克隆

    git clone https://github.com/happyfish100/libfastcommon.git
    

    2)编译安装

    cd libfastcommon/
    ./make.sh
    ./make.sh install
    

    1.2 安装FastDFS

    1)编译安装FastDFS

    git clone https://github.com/happyfish100/fastdfs.git
    cd fastdfs
    ./make.sh
    ./make.sh install
    

    服务脚本在:

    /etc/init.d/fdfs_storaged
    /etc/init.d/fdfs_trackerd
    

    1.2.1 配置tracker

    1. 修改Tracker配置文件
    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
    vim /etc/fdfs/tracker.conf
    

    做以下配置

    bind_addr=192.168.56.10 # 所在服务器IP地址
    base_path=/data/fastdfs/tracker
    
    1. 创建对应的数据存储目录
    mkdir -p  /data/fastdfs/tracker
    
    1. 启动Tracker
    mv /etc/init.d/fdfs_trackerd /etc/init.d/tracker
    service tracker start
    
    1. 查看tracker是否启动
    ps -ef |grep fdfs
    

    1.2.2 配置storage

    1. 修改Storage配置文件
     cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
     vim /etc/fdfs/storage.conf
    

    修改以下配置

    group_name=group1
    bind_addr=192.168.56.10 # 所在服务器IP地址
    base_path=/data/fastdfs/storage
    store_path0=/data/fastdfs/storage
    tracker_server=192.168.56.10:22122 # tracker的ip:port
    http.server_port=8888 # http监听端口
    
    1. 创建对应的数据存储目录
    mkdir -p  /data/fastdfs/storage
    
    1. 启动storage
    mv /etc/init.d/fdfs_storaged /etc/init.d/storage
    service storage start
    
    1. 查看是否启动
    ps -ef |grep storage
    

    1.3 配置Client

     cp  /etc/fdfs/client.conf.sample  /etc/fdfs/client.conf
     vim  /etc/fdfs/client.conf
    

    做下面修改

    base_path=/data/fastdfs/client
    tracker_server=192.168.56.10:22122
    

    创建client目录

    mkdir -p /data/fastdfs/client
    

    测试上传文件

    fdfs_upload_file /etc/fdfs/client.conf ./client.conf
    


    如上图上传成功后,返回group1/M00/00/00/wKg4ClsiIoOAHAWxAAAFtZDs6iQ79.conf这样的一串,这个是以后访问这个文件的凭借。其中/00/00/上传后文件是storage存储目录下的目录,上传的文件就在这个目录下边。

    在storage配置的base_path下,是这样的目录:

    cd 00/00
    ls
    

    可以看到刚刚上传的文件

    1.4整合nginx

    1.4.1 下载fastdfs-nginx-module模块

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

    14.2 安装nginx

    1.下载nginx

    nginx版本为:nginx-1.14.0
    http://nginx.org/en/download.html

    2.编译安装nginx

    tar -xzvf nginx-1.14.0.tar.gz
    apt-get -y install libpcre3 libpcre3-dev openssl  libssl-dev
    cd nginx-1.14.0/
    
    ./configure 
    --prefix=/usr 
    --sbin-path=/usr/sbin/nginx 
    --conf-path=/etc/nginx/nginx.conf 
    --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log 
    --pid-path=/var/run/nginx/nginx.pid  
    --lock-path=/var/lock/nginx.lock 
    --user=root 
    --group=root 
    --with-http_ssl_module 
    --with-http_flv_module 
    --with-http_stub_status_module 
    --with-http_gzip_static_module 
    --with-pcre 
    --add-module=/root/fastdfs-nginx-module/src && make  && sudo make install
    

    3.复制fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中

    cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
    

    4.修改mod_fastdfs.conf文件

    vim /etc/fdfs/mod_fastdfs.conf
    

    修改以下配置

    group_name=group1
    connect_timeout=10
    tracker_server=192.168.56.10:22122
    url_have_group_name = true
    store_path0=/data/fastdfs/storage
    log_filename=mod_fastdfs.log
    

    5.复制FastDFS里的2个文件,到/etc/fdfs目录中

    cp /root/fastdfs/conf/http.conf /root/fastdfs/conf/mime.types /etc/fdfs/
    

    6.修改Nginx配置文件

    vim /etc/nginx/nginx.conf
    

    做以下配置

    server {
            listen       8888; # 与storage.conf文件中的http.server_port一致
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location ~/group([0-9])/M00 {
                root /data/fastdfs/storage/data;
                ngx_fastdfs_module;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
         ...
    }
    

    7.启动Nginx

    nginx
    

    8.测试

    上传一张图片

    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group1/M00/00/00/wKg4ClsiKj6AOv3sAAoHBffgMgw082.png
    

    访问地址为就是nginx所在服务器地址+storage配置的http端口+上传文件返回的一串字符串,如:
    http://192.168.56.10:8888/group1/M00/00/00/wKg4ClsiKj6AOv3sAAoHBffgMgw082.png

    2. 集群搭建

    在上边讲述了如何搭建了只有一个tracker server、storage server,接下来说明如何配置集群

    2.1 tracker集群

    将tracker部署为多节点集群模式:

    1.安装tracker
    按照1.1~1.2.1步骤执行

    2.修改client、storage配置

    # 修改client端配置,加入tracker
    vim /etc/fdfs/client.conf
    tracker_server=tracker1_ip:22122 # 有几个tracker就添加几个这个配置
    tracker_server=tracker2_ip:22122 
    # 修改nginx整合模块配置
    vim /etc/fdfs/mod_fastdfs.conf
    tracker_server=tracker1_ip:22122 # 有几个tracker就添加几个这个配置
    tracker_server=tracker2_ip:22122 
    
    # 修改storage配置
    vim /etc/fdfs/storage.conf
    tracker_server=tracker2_ip:22122  # 有几个tracker就添加几个这个配置
    tracker_server=tracker2_ip:22122 
    

    重启storage,不建议用restart

    service storage stop
    service storage start
    

    执行命令/usr/bin/fdfs_monitor /etc/fdfs/storage.conf查看是否成功,如下图现在tracker server数量为2两个

    2.2 storage集群

    2.2.1 多volume/group

    1.搭建多group

    执行1.1~1.2,此时只要group_name配置不同即为不同的组,如下是两个分组的配置。如果想在一个group下配置多个storage的话,指定相同的group_name即可。

    group1的storage.conf

    group_name=group1
    bind_addr=192.168.56.10
    base_path=/data/fastdfs/storage
    store_path0=/data/fastdfs/storage
    tracker_server=192.168.56.10:22122
    tracker_server=192.168.56.11:22122
    http.server_port=8888
    

    group2的storage.conf

    group_name=group2
    bind_addr=bind_addr=192.168.56.11
    base_path=/data/fastdfs/storage
    store_path0=/data/fastdfs/storage
    tracker_server=192.168.56.10:22122
    tracker_server=192.168.56.11:22122
    http.server_port=8888
    

    在任意的服务器上执行命令执行命令/usr/bin/fdfs_monitor /etc/fdfs/storage.conf,如下如现在tracker数量为2个,group数量为2个。

    此时,默认fastdfs会以load balance(负载均衡)的方式,即挑选资源较为富足的group进行文件上传。

    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group2/M00/00/00/wKg4C1soeX-AJvj9AAoHBffgMgw417.png
    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group2/M00/00/00/wKg4C1soeZWADUQ8AAoHBffgMgw073.png
    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group2/M00/00/00/wKg4C1soeZaABSmhAAoHBffgMgw325.png
    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group2/M00/00/00/wKg4C1soeZeADGZmAAoHBffgMgw797.png
    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group2/M00/00/00/wKg4C1soeZiAO3rNAAoHBffgMgw093.png
    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group2/M00/00/00/wKg4C1soeZiAVjmdAAoHBffgMgw961.png
    root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png 
    group2/M00/00/00/wKg4C1soeZmAExMRAAoHBffgMgw515.png
    

    因为group2的资源比group1要充足,所以都文件上传到了group2,fastdfs提供了文件上传负载策略一共有三种

      1. round robin:
        以轮询的方式依次的向各个group存储文件,对应配置值0
      2. specify group:
        指定某一group存储文件,对应配置值1,此时需要配合配置store_group=group_name来指定特定的组
      3. load balance:
        选择资源充足的组来存储文件,为FastDFS默认配置
  • 相关阅读:
    Delphi 打印纸张选项设置参数
    Windows win32 API 类库 硬件
    delphi 打印 PDevMode 说明
    Delphi GlobalAlloc、GlobalLock、GlobalUnlock、GlobalFree 函数
    delphi 设备函数GetDeviceCaps函数
    情感分析和数据集
    深度因式分解机
    因子分解机
    功能丰富的推荐系统
    序列感知推荐系统
  • 原文地址:https://www.cnblogs.com/xiaolinstudy/p/9341757.html
Copyright © 2011-2022 走看看