zoukankan      html  css  js  c++  java
  • FastDFS部署

    环境:

    CentOS 7

    FastDFS 5.05

    Nginx 1.10

    fastdfs-nginx-module_v1.16

    libfastcommon-1.0.7

    libevent-2.0.21-stable

    pcre-8.35.tar.gz

    单机启动一个Tracker和三个Storage

     安装支持模块:

    yum install openssl openssl-devel

    安装libevent-2.0.21-stable

    tar zxvf libevent-2.0.21-stable.tar.gz
    ./configure
    make && make install

    安装libfastcommon-1.0.7.tar.gz

    tar zxvf libfastcommon-1.0.7.tar.gz
    ./make.sh
    ./make.sh install

    安装FastDFS

    tar zxvf FastDFS_v5.05.tar.gz
    ./make.sh
    ./make.sh install

    配置文件目录:/etc/fdfs/

    配置tracker和storage

    tracker:

    vim /etc/fdfs/tracker.conf

    base_path=/data/local/fdfs_data/tracker #确保目录存在

    storage:

    vim /etc/fdfs/storage.conf

    group_name=group1
    http.server_port=8123
    base_path=/data/local/fdfs_data/storage #确保目录存在
    
    store_path0=/data/local/fdfs_data/storage/images/data #确保目录存在,存放图片目录
    
    tracker_server=192.168.153.10:22122  #tracker服务地址,这里就是本机地址

    由于要启动三个storage,所以复制storage.conf二份,三份配置文件分别为:storage.conf、storage1.conf、storage2.conf

    修改storage1.conf和storage2.conf:

    storage1.conf:

    group_name=group2
    
    http.server_port=8123
    base_path
    =/data/local/fdfs_data/storage1 #确保目录存在 store_path0=/data/local/fdfs_data/storage1/images/data #确保目录存在,存放图片目录 tracker_server=192.168.153.10:22122 #tracker服务地址,这里就是本机地址

    storage2.conf:

    group_name=group2
    http.server_port=8123
    base_path=/data/local/fdfs_data/storage2 #确保目录存在

    store_path0=/data/local/fdfs_data/storage2/images/data #确保目录存在,存放图片目录

    tracker_server
    =192.168.153.10:22122 #tracker服务地址,这里就是本机地址

    启动tracker:

    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

    启动三个storage:

    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
    /usr/bin/fdfs_storaged /etc/fdfs/storage1.conf
    /usr/bin/fdfs_storaged /etc/fdfs/storage2.conf

    初次启动storage时会稍慢。

    配置client

    vim /etc/fdfs/client.conf:

    base_path=/data/local/fdfs_data/client #确保目录存在
    
    tracker_server=192.168.153.10:22122
    http.server_port=8123

    拷贝mime.types、http.conf 

    cp FastDFS/conf/mime.types /etc/fdfs/ 
    cp FastDFS/conf/http.conf /etc/fdfs/ 

     修改fastdfs-nginx-module/src/config,去掉local:

    CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

    否在在安装nginx时会报错:

     致命错误:fdfs_define.h:没有那个文件或目录
     #include "fdfs_define.h"

    安装nginx:

    tar zxvf nginx-1.10.3.tar.gz
    ./configure --prefix=/data/local/nginx --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --add-module=/data/package/fastdfs-nginx-module/src/ --with-pcre=/data/package/pcre-8.35
    make 
    make install

     拷贝模块文件:

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

    修改mod_fastdfs.conf:

    将
    tracker_server=tracker:22122
    改为:
    tracker_server=192.168.0.9:22122  #tracker的实际地址

    nginx.conf

    listen 8123
    
    
    location /group1/M00 {
        root /data/local/fdfs_data/storage/images;
        ngx_fastdfs_module;
    }

    启动nginx...

    设置伪集群:

    vim mod_fastdfs.conf:

    base_path=/data/local/fdfs_data/fdfs-nginx-module
    
    tracker_server=192.168.153.9:22122
    
    group_name=group1/group2/group3
    
    store_path0=/data/local/fdfs_data/storage/images/data
    
    group_count = 3
    
    [group1]
    group_name=group1
    storage_server_port=23000
    store_path_count=1
    store_path0=/data/local/fdfs_data/storage/images
    
    
    [group2]
    group_name=group2
    storage_server_port=23001
    store_path_count=1
    store_path0=/data/local/fdfs_data/storage1/images
    
    [group3]
    group_name=group3
    storage_server_port=23002
    store_path_count=1
    store_path0=/data/local/fdfs_data/storage3/images

     重启服务:

    /usr/bin/fdfs_trackered /etc/fdfs/tracker.conf restart
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
    /usr/bin/fdfs_storaged /etc/fdfs/storage1.conf restart
    /usr/bin/fdfs_storaged /etc/fdfs/storage2.conf restart

    /data/local/nginx/sbin/nginx -s reload

    上传图片测试:

    /usr/bin/fdfs_test /etc/fdfs/client.conf upload /data/package/111.jpg

    通过结果:

    This is FastDFS client test program v5.05
    
    Copyright (C) 2008, Happy Fish / YuQing
    
    FastDFS may be copied only under the terms of the GNU General
    Public License V3, which may be found in the FastDFS source kit.
    Please visit the FastDFS Home Page http://www.csource.org/ 
    for more detail.
    
    [2017-04-21 17:58:52] DEBUG - base_path=/data/local/fdfs_data/client, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
    
    tracker_query_storage_store_list_without_group: 
        server 1. group_name=, ip_addr=192.168.153.9, port=23000
    
    group_name=group1, ip_addr=192.168.153.9, port=23000
    storage_upload_by_filename
    group_name=group1, remote_filename=M00/00/00/wKiZCVj519yAMVOkAAA_xFjVVbc000.jpg
    source ip address: 192.168.153.9
    file timestamp=2017-04-21 17:58:52
    file size=16324
    file crc32=1490376119
    example file url: http://192.168.153.9:8123/group1/M00/00/00/wKiZCVj519yAMVOkAAA_xFjVVbc000.jpg
    storage_upload_slave_by_filename
    group_name=group1, remote_filename=M00/00/00/wKiZCVj519yAMVOkAAA_xFjVVbc000_big.jpg
    source ip address: 192.168.153.9
    file timestamp=2017-04-21 17:58:52
    file size=16324
    file crc32=1490376119
    example file url: http://192.168.153.9:8123/group1/M00/00/00/wKiZCVj519yAMVOkAAA_xFjVVbc000_big.jpg

    其中 'http://192.168.153.9:8123/group1/M00/00/00/wKiZCVj519yAMVOkAAA_xFjVVbc000_big.jpg'就是改图片通过nginx的访问地址。

    PS:同一个group中的storage之间是平等的,相互备份。

    查看FastDFS集群状态:

     /usr/bin/fdfs_monitor /etc/fdfs/client.conf

    删除storage节点,重新加入:

    /usr/bin/fdfs_monitor /etc/fdfs/client.conf delete group1 192.168.153.9

    删除一个组:

    /usr/bin/fdfs_monitor /etc/fdfs/client.conf delete group2

    删除完之后,重启tracker和storage

  • 相关阅读:
    好用的QT连接
    c指针点滴-指针与类型
    c指针点滴5-指针变量计算
    c指针点滴4-指针的值
    c指针点滴三(指针运算)
    c语言指针点滴1
    c指针点滴2之比大小
    c指针点滴1
    linux安装redis
    支付宝支付接口流程
  • 原文地址:https://www.cnblogs.com/ahaii/p/6742577.html
Copyright © 2011-2022 走看看