zoukankan      html  css  js  c++  java
  • CentOS7安装FastDFS 5.05

    #!/bin/bash


    # https://sourceforge.net/projects/fastdfs/files/  
    # 》 FastDFS Server Source Code 》FastDFS_v5.08.tar.gz
    # 本教程下载:FastDFS_v5.05.tar.gz
    #set env 即安装依赖软件
    #libfastcommon是FastDFS官方提供,https://github.com/happyfish100/libfastcommon
    #libfastcommon包含了FastDFS运行所需要的一些基础库。
    #mkdir  /home/FastDFSPackage  &&  cd   /home/FastDFSPackage
    #Xftp上传①FastDFS_v5.05.tar.gz,②libfastcommonV1.0.7.tar.gz,
    #③fastdfs-nginx-module_v1.16.tar.gz,④nginx-1.10.3.tar.gz至/home/FastDFSPackage
    yum -y install  zlib pcre pcre-devel zlib-devel
    yum -y install gcc gcc-c++ libstdc++-devel wget make
    yum -y groupinstall 'Development Tools'
    yum install -y unzip zip
    yum install -y libevent
    tar -zxvf libfastcommonV1.0.7.tar.gz
    cd libfastcommon-1.0.7
    ./make.sh
    ./make.sh install
    #注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用/usr/lib目录所以需要将/usr/lib64下的库文件拷贝或者引用,至/usr/lib下。
    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






    #tracker编译安装
    tar -zxvf  FastDFS_v5.05.tar.gz  -C  /usr/local
    cd /usr/local/FastDFS
    ./make.sh
    ./make.sh install


    [root@localhost FastDFS]# ./make.sh install
    mkdir -p /usr/bin
    mkdir -p /etc/fdfs
    cp -f fdfs_trackerd /usr/bin
    if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
    mkdir -p /usr/bin
    mkdir -p /etc/fdfs
    cp -f fdfs_storaged  /usr/bin
    if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
    mkdir -p /usr/bin
    mkdir -p /etc/fdfs
    mkdir -p /usr/lib64
    cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
    if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; fi
    if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; fi
    mkdir -p /usr/include/fastdfs
    cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs
    if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi
    采用默认安装方式脚本文件说明:服务脚本在:cd /etc/init.d/ && ls |grep fdfs
    /etc/init.d/fdfs_storaged
    /etc/init.d/fdfs_trackerd
    配置文件在:
    /etc/fdfs/client.conf.sample
    /etc/fdfs/storage.conf.sample
    /etc/fdfs/tracker.conf.sample
    命令行工具在/usr/bin/目录: cd /usr/bin/ && ls |grep fdfs
    fdfs_appender_test
    fdfs_appender_test1
    fdfs_append_file
    fdfs_crc32
    fdfs_delete_file
    fdfs_download_file
    fdfs_file_info
    fdfs_monitor
    fdfs_storaged
    fdfs_test
    fdfs_test1
    fdfs_trackerd
    fdfs_upload_appender
    fdfs_upload_file
    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


    #安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下。
    [root@localhost FastDFS]# ll  /usr/local/FastDFS/conf/
    总用量 84
    -rw-r--r--. 1 8980 users 23981 12月  2 2014 anti-steal.jpg
    -rw-r--r--. 1 8980 users  1461 12月  2 2014 client.conf
    -rw-r--r--. 1 8980 users   858 12月  2 2014 http.conf
    -rw-r--r--. 1 8980 users 31172 12月  2 2014 mime.types
    -rw-r--r--. 1 8980 users  7829 12月  2 2014 storage.conf
    -rw-r--r--. 1 8980 users   105 12月  2 2014 storage_ids.conf
    -rw-r--r--. 1 8980 users  7102 12月  2 2014 tracker.conf
    [root@localhost fdfs]# ll  /etc/fdfs
    总用量 20
    -rw-r--r--. 1 root root 1461 4月  18 19:05 client.conf.sample
    -rw-r--r--. 1 root root 7829 4月  18 19:05 storage.conf.sample
    -rw-r--r--. 1 root root 7102 4月  18 19:05 tracker.conf.sample
    cp  /usr/local/FastDFS/conf/*  /etc/fdfs/
    [root@localhost FastDFS]# ll  /etc/fdfs/
    总用量 84
    -rw-r--r--. 1 8980 users 23981 12月  2 2014 anti-steal.jpg
    -rw-r--r--. 1 8980 users  1461 12月  2 2014 client.conf
    -rw-r--r--. 1 8980 users   858 12月  2 2014 http.conf
    -rw-r--r--. 1 8980 users 31172 12月  2 2014 mime.types
    -rw-r--r--. 1 8980 users  7829 12月  2 2014 storage.conf
    -rw-r--r--. 1 8980 users   105 12月  2 2014 storage_ids.conf
    -rw-r--r--. 1 8980 users  7102 12月  2 2014 tracker.conf
    [root@localhost fdfs]# ll  /etc/fdfs/
    总用量 104
    -rw-r--r--. 1 root root 23981 4月  18 19:19 anti-steal.jpg
    -rw-r--r--. 1 root root  1461 4月  18 19:19 client.conf
    -rw-r--r--. 1 root root  1461 4月  18 19:05 client.conf.sample
    -rw-r--r--. 1 root root   858 4月  18 19:19 http.conf
    -rw-r--r--. 1 root root 31172 4月  18 19:19 mime.types
    -rw-r--r--. 1 root root  7829 4月  18 19:19 storage.conf
    -rw-r--r--. 1 root root  7829 4月  18 19:05 storage.conf.sample
    -rw-r--r--. 1 root root   105 4月  18 19:19 storage_ids.conf
    -rw-r--r--. 1 root root  7102 4月  18 19:19 tracker.conf
    -rw-r--r--. 1 root root  7102 4月  18 19:05 tracker.conf.sample




    #tracker配置
    mkdir -p /fastdfs/tracker #创建目录
    vim /etc/fdfs/tracker.conf #修改tracker.conf
    base_path=/home/yuqing/FastDFS 改为:base_path=/fastdfs/tracker
    对于tracker.conf配置文件参数解释可以找官方文档,地址为:
    http://bbs.chinaunix.net/thread-1941456-1-1.html 

    firewall-cmd   --permanent --zone=public --add-port=22122/tcp
    firewall-cmd   --reload


    #tracker启动|停止|重启
    ll  /fastdfs/tracker/ #查看文件夹 
    /etc/init.d/fdfs_trackerd  start|stop|restart|status #启动|停止|重启,tracker
    ps -el|grep  fdfs #查看fdfs进程
    ll  /fastdfs/tracker/ #查看文件夹:logs文件夹,data文件夹
    vim /etc/rc.d/rc.local #设置开机启动
    /etc/init.d/fdfs_trackerd start




    #storage配置
    mkdir -p /fastdfs/storage #创建目录
    vim /etc/fdfs/storage.conf #修改storage.conf
    base_path=/home/yuqing/FastDFS 改为:base_path=/fastdfs/storage
    store_path0=/home/yuqing/FastDFS 改为:store_path0=/fastdfs/storage
    #如果有多个挂载磁盘则定义多个store_path,如下
    #store_path1=.....
    #store_path2=......
    tracker_server=192.168.0.3:22122   #配置tracker服务器:IP
    #如果有多个则配置多个tracker
    #tracker_server=192.168.0.4:22122
    http.server_port=8888

    firewall-cmd   --permanent --zone=public --add-port=23000/tcp
    firewall-cmd   --reload

    #storage启动
    ll  /fastdfs/storage #查看文件夹
    /etc/init.d/fdfs_storaged  start|stop|restart|status #启动|停止|重启,tracker
    ps -el|grep  fdfs #查看fdfs进程
    ll  /fastdfs/storage/ #查看文件夹:logs文件夹,data文件夹
    vim /etc/rc.d/rc.local #设置开机启动
    /etc/init.d/fdfs_storaged start




    #测试,用/usr/bin/fdfs_test测试
    vim  /etc/fdfs/client.conf
    base_path=/fastdfs/tracker
    tracker_server=192.168.0.3:22122
    ls /fastdfs/storage/data/00/00 #查看文件夹,什么也没有。
    #使用格式:/usr/bin/fdfs_test 客户端配置文件地址  upload  上传文件
    #例如:将/home下的图片上传到FastDFS中:
    ①/usr/bin/fdfs_test /etc/fdfs/client.conf upload  /etc/fdfs/anti-steal.jpg 
    example file url: 
    http://192.168.0.3/group1/M00/00/00/wKgAA1rXMjCAPrqTAABdrZgsqUU599.jpg
    http://192.168.0.3/group1/M00/00/00/wKgAA1rXMjCAPrqTAABdrZgsqUU599_big.jpg
    ②/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /etc/fdfs/anti-steal.jpg 


    ls /fastdfs/storage/data/00/00 #查看文件夹
    [root@localhost data]# ls /fastdfs/storage/data/00/00
    wKgAA1rXMjCAPrqTAABdrZgsqUU599_big.jpg    wKgAA1rXMjCAPrqTAABdrZgsqUU599.jpg
    wKgAA1rXMjCAPrqTAABdrZgsqUU599_big.jpg-m  wKgAA1rXMjCAPrqTAABdrZgsqUU599.jpg-m


    #访问 http://192.168.0.3/group1/M00/00/00/wKgAA1rW_kmAT7woAAAClw10KCA106_big.png  
    Not Found
    The requested URL /group1/M00/00/00/wKgAA1rW_kmAT7woAAAClw10KCA106_big.png was not found on this server.
    #由于现在还没有和nginx整合无法使用http下载。




    #FastDFS与nginx整合
    #在tracker上安装nginx,安装细节参考nginx文档。
    #在每个tracker上安装nginx,的主要目的是做负载均衡及实现高可用。
    #如果只有一台tracker服务器可以不配置nginx。
    #在Storage上安装nginx
    #Xftp上传fastdfs-nginx-module_v1.16.tar.gz至/home/FastDFS
    cd /home/FastDFSPackage/
    tar -zxvf fastdfs-nginx-module_v1.16.tar.gz  -C /usr/local/
    cd  /usr/local/fastdfs-nginx-module/src
    vim /usr/local/fastdfs-nginx-module/src/config
    修改config文件将/usr/local/路径改为/usr/,只修改第四行,第五行不用修改。
    CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
    CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"


    rm  -rf  /usr/local/nginx/
    cd  /home/FastDFSPackage
    tar -zxvf nginx-1.10.3.tar.gz 
    cd /home/FastDFSPackage/nginx-1.10.3
    ./configure --add-module=/usr/local/fastdfs-nginx-module/src/
    make && make install


    #将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下
    cp  /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf  /etc/fdfs/
    vim /etc/fdfs/mod_fastdfs.conf #修改:如连接超时时间、跟踪器路径配置、url的group配置、
    base_path=/temp
      connect_timeout=10
    tracker_server=192.168.0.3:22122
    #tracker_server=192.168.0.4:22122(多个tracker配置多行)
    url_have_group_name = true #url中包含group名称
    store_path0=/fastdfs/storage #指定文件存储路径

    cp /usr/lib64/libfdfsclient.so /usr/lib/ #将libfdfsclient.so拷贝至/usr/lib下
    #创建nginx/client目录
    mkdir -p /var/temp/nginx/client


    #nginx配置文件
    vim  /usr/local/nginx/conf/nginx.conf
    修改内容为:
    listen 8888;
    server_name localhost;
    location ~/group([0-9])/M00 {
    root /fastdfs/storage/data;
    ngx_fastdfs_module;
    }
    注意:nginx里的端口要和配置FastDFS存储中的storage.conf文件配置一致,http.server_port=8888
    ln -s /fastdfs/storage/data/  /fastdfs/storage/data/M00


    firewall-cmd   --permanent --zone=public --add-port=8888/tcp
    firewall-cmd   --reload


    /usr/local/nginx/sbin/nginx


    启动命令:
    启动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


    删除上传文件:
    /usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wK
    gBe1iEcGOAafHdALSFS-ifSIk.tar.gz


    #参考:https://www.cnblogs.com/tc520/p/6822412.html 
  • 相关阅读:
    Silverlight IIS设置
    HTTP Error 500.21
    ASP.NET中登录页验证码的实现 分类: ASP.NET 20120308 22:44 4936人阅读 评论(5) 收藏
    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管 分类: 错误积累 20120309 09:22 6511人阅读 评论(4) 收藏
    用C求解一元二次方程的解,遇到的问题及解决办法 分类: C语言 20120313 00:26 3094人阅读 评论(0) 收藏
    推荐开发人员看的11本较具影响力书籍 分类: 转载收藏 20120311 02:03 551人阅读 评论(0) 收藏
    我的程序员之路(三) 分类: 程序人生 20120324 01:20 529人阅读 评论(0) 收藏
    我的程序员之路(二) 分类: 程序人生 20120311 00:38 848人阅读 评论(3) 收藏
    我的程序员之路(一) 分类: 程序人生 20120308 21:03 1692人阅读 评论(4) 收藏
    listBox应用
  • 原文地址:https://www.cnblogs.com/ncepu/p/13695004.html
Copyright © 2011-2022 走看看