zoukankan      html  css  js  c++  java
  • FastDFS在centos上的安装配置与使用

    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务。(百科)

    本文详细介绍了FastDFS在centos系统上的详细安装过程,在从机上使用了nginx实现了http的访问请求,我们开始吧。。(转载请标明,谢谢

    fdfs工具包下载地址http://pan.baidu.com/s/1eQHCSJw

    使用winscp将工具包复制到服务器中

     

     

    1、节点和关闭服务(关闭防火墙)

    sudo service iptables stop 

    sudo chkconfig iptables off

    sudo vi /etc/selinux/config 修改 selinux=disable

    2、开始安装 fastdfs,主机Tracker、从机storage安装方法一样

    3、检查 gcc 编译器系统中是否安装

       sudo yum install -y gcc gcc-c++

    4FastDFS_v5.05依赖libfastcommon,不再依赖libevent

    5、安装libfastcommon

     (1)安装unzip包,将libfastcommon解压到/usr/local下

       sudo yum install -y unzip zip

       sudo unzip libfastcommon-1.0.7.zip -d /usr/local

    (2)编译并运行

       cd /usr/local/libfastcommon-1.0.7

       sudo ./make.sh

       sudo ./make.sh install

     

       由于FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接.

       sudo ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

       sudo ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

       sudo ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

       sudo  ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

    6、安装FastDFS

    (1)解压FastDFS至 /usr/local

      sudo tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local

    (2)编译并安装

       cd /usr/local/FastDFS

       sudo ./make.sh

       sudo ./make.sh install

    安装完成,如果安装失败,检查一下软连接,主机从机都必须这样配置

    7、配置TrackerStorage

    (1)Tracker,创建 tracker.conf

      cd /etc/fdfs/

      sudo cp tracker.conf.sample tracker.conf

       创建数据存储目录

      mkdir /mnt/fastdfs_tracker

      修改tracker.conf配置文件

      base_path=/mnt/fastdfs_tracker

      启动该配置文件

      fdfs_trackerd /etc/fdfs/tracker.conf

      

    (2)Storage,创建 storage.conf

      cd /etc/fdfs/

        sudo cp storage.conf.sample storage.conf

        

      创建数据存储目录

      sudo mkdir /mnt/fastdfs_storage_info

    sudo mkdir /mnt/fastdfs_storage_data

     

      修改storage.conf配置文件

      base_path=/mnt/fastdfs_storage_info

      store_path0=/mnt/fastdfs_storage_data

          tracker_server=主机IP:端口(默认22122)

     

    第一次启动该配置文件(该动作有点慢耐心等待)

    fdfs_storaged  /etc/fdfs/storage.conf

      注:出错请查看日志:

     cat /mnt/fastdfs_tracker/logs/tracker.log

     cat /mnt/fastdfs_storage_info/logs/storage.log

     

     telnet检查主从是否通信

     http://jingyan.baidu.com/article/3c48dd34709e70e10be35835.html

     

     使用fdfs_test /etc/fdfs/client.conf upload 1.png 测试fastdf有没有正常工作,正确显示如下图:

     

    8、在storage上安装的nginx主要为了提供http的访问服务,同时解决groupstorage服务器的同步延迟问题

    (1)解压nginx插件fastdfs-nginx-module,以及依赖包 pcre、zlib

      sudo tar -zxvf  FastDFS_v5.05.tar.gz -C /usr/local

      sudo tar -zxvf  pcre-8.34.tar.gz -C /usr/local

      sudo tar -zxvf  zlib-1.2.8.tar.gz -C /usr/local

     

    (2)解压安装nginx

    sudo tar -zxvf nginx-1.7.8.tar.gz -C /usr/local

     

    sudo ./configure

    --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src     --with-pcre=/usr/local/src/pcre-8.34/ --with-zlib=/usr/local/src/zlib-1.2.8

    (如果提示错误,可能缺少依赖的软件包,需先安装依赖包,再次运行./configure)

     

    sudo make

    sudo make install

     

     

    9、将FastDFSnginx插件模块的配置文件copyFastDFS配置文件目录。

    (1)cp/usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf  /etc/fdfs/

     

    (2)将fastdfs安装包中的http.conf、mime.types 两个文件拷贝到/etc/fdfs中

      sudo cp /usr/local/FastDFS/conf/http.conf  /etc/fdfs/

      sudo cp /usr/local/FastDFS/conf/mime.types  /etc/fdfs/

    (3)编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置添加storage信息并保存。

      sudo vi /usr/local/nginx/conf/nginx.conf

     

    将server段中的listen端口号改为8080:

    listen       8080;

    在server段中添加:

    location ~/group1/M00 {

          root /mnt/fastdfs_storage_data;

        ngx_fastdfs_module;

    }

    可以设置多个组,上面只设置了一个组‘group1’根据具体情况而定

    location ~/group[1-3]/M00 {

          root /mnt/fastdfs_storage_data;

        ngx_fastdfs_module;

    }

    (4)编辑/etc/fdfs配置文件目录下的mod_fastdfs.conf,设置storage信息并保存。

    sudo vi /etc/fdfs/mod_fastdfs.conf

     

    一般只需改动以下几个参数即可:

    base_path=/fdfs/storage           #保存日志目录

    tracker_server=主机IP:22122 #tracker服务器的IP地址以及端口号

    storage_server_port=23000         #storage服务器的端口号

    group_name=group1                 #当前服务器的group名

    url_have_group_name = true        #文件url中是否有group名

    store_path_count=1                #存储路径个数,需要和store_path个数匹配

    store_path0=/fdfs/storage         #存储路径

    http.need_find_content_type=true  #从文件扩展名查找文件类型(nginx时为true)

    有的版本没有该选项不要管它

    根据你上面设置的组个数设置

    group_count = 1                  #设置组的个数

    在末尾增加1个组的具体信息:(设置几组就添加几组)

    [group1]

    group_name=group1

    storage_server_port=23000

    store_path_count=1

    store_path0=/mnt/fastdfs_storage_data

    /*[group2]

    group_name=group2

    storage_server_port=23000

    store_path_count=1

    store_path0=/mnt/fastdfs_storage_data

    [group3]

    group_name=group3

    storage_server_port=23000

    store_path_count=1

    store_path0=/mnt/fastdfs_storage_data*/

     

     

    (5)建立M00至存储目录的软连接

    sudo ln -s /mnt/fastdfs_storage_data  /mnt/fastdfs_storage_data/M00

     

    测试软连接有没有设置成功

    ll /fdfs/storage/data/M00

    lrwxrwxrwx. 1 root root 19 3月  26 03:44 /fdfs/storage/data/M00 -> /fdfs/storage/data/

     

    10、运行nginx

    (1)运行nginx之前,先要把防火墙中对应的端口打开(本例中为8080)。

    不是root用户都要sudo

    [root@storage1 nginx-1.4.7]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

    [root@storage1 nginx-1.4.7]# /etc/init.d/iptables save

     

    (2)启动nginx,确认启动是否成功。(查看是否对应端口8080是否开始监听)

     

    [root@storage1 nginx-1.4.7]# /usr/local/nginx/sbin/nginx

    ngx_http_fastdfs_set pid=40638

    [root@storage1 nginx-1.4.7]# netstat -unltp | grep nginx

    tcp    0    0.0.0.0:8080            0.0.0.0:*              LISTEN      40639/nginx

     

    也可查看nginx的日志是否启动成功或是否有错误。

     

    [root@storage1 nginx-1.4.7]# cat /usr/local/nginx/logs/error.log

    ngx_http_fastdfs_process_init pid=40640

    [2014-03-26 03:47:17] INFO - local_host_ip_count: 2,  127.0.0.1  从机IP

    [2014-03-26 03:47:17] INFO - fastdfs apache / nginx module v1.15, response_mode=proxy, base_path=/tmp, url_have_group_name=1, group_count=3, connect_timeout=2, network_timeout=30, tracker_server_count=1, if_alias_prefix=, local_host_ip_count=2, need_find_content_type=1, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, load_fdfs_parameters_from_tracker=1, storage_sync_file_max_delay=86400s, use_storage_id=0, storage server id count=0, flv_support=1, flv_extension=flv

    [2014-03-26 03:47:17] (设置几组显示几组)

    INFO - group 1. group_name=group1, storage_server_port=23000, path_count=1, store_path0=/mnt/fastdfs_storage_data

    [2014-03-26 03:47:17] 

    INFO - group 2. group_name=group2, storage_server_port=23000, path_count=1, store_path0=/mnt/fastdfs_storage_data

    [2014-03-26 03:47:17] 

    INFO - group 3. group_name=group3, storage_server_port=23000, path_count=1, store_path0=/mnt/fastdfs_storage_data

     

    在error.log中没有错误,既启动成功。可以打开浏览器,直接访问http://从机:8080,查看是否弹出nginx欢迎页面。

     

    查看从机上传的文件:

    http://10.120.20.191:8080/group1/M00/00/00/wKgAOVWsnq-AOMfVAADroWmJH48190_big.png

     

     

  • 相关阅读:
    Python入门11 —— 基本数据类型的操作
    Win10安装7 —— 系统的优化
    Win10安装6 —— 系统的激活
    Win10安装5 —— 系统安装步骤
    Win10安装4 —— 通过BIOS进入PE
    Win10安装2 —— 版本的选择与下载
    Win10安装1 —— 引言与目录
    Win10安装3 —— U盘启动工具安装
    虚拟机 —— VMware Workstation15安装教程
    Python入门10 —— for循环
  • 原文地址:https://www.cnblogs.com/alvin_xp/p/4718317.html
Copyright © 2011-2022 走看看