• 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

  • 相关阅读:
    win10环境下 jdk8安装点击下一步没反应解决办法
    selenium 常见鼠标 键盘事件
    selenium 输入框有默认值,用键盘事件解决
    selenium 键盘事件
    selenium 鼠标事件
    sql length
    ecshop Uncaught transport.js/parseResult() error: can't parse to JSON 错误解决
    j2EE基础知识
    mybatis入门知识
    JVM入门
  • 原文地址:https://www.cnblogs.com/ahaii/p/6742577.html
Copyright © 2020-2023  润新知