在linux中安装fastDFS

借鉴于https://blog.csdn.net/qq_34301871/article/details/80060235

文中需要下载的压缩包可从链接获取

https://pan.baidu.com/s/1sYE4uiaB-XdhdCART1gOxQ

1:首先下载 所需全部工具运行命令

  yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
    

  等待下载完成 然后安装rz 命令
  yum install lrzsz -y

2:上传下载的压缩包,根据自己习惯创建文件夹

创建文件夹

/home/muyang

3:安装libfastcommon

解压刚才上传的文件,然后进入解压完成的文件目录
        unzip libfastcommon-master.zip 
        cd libfastcommon-master
        ll
        
        开始安装 执行
        ./make.sh
        ./make.sh install
        
        看看有没有报错,如果没有错误就可以执行软链接了。
        ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
        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
        ln -s /usr/bin/fdfs_trackerd   /usr/local/bin
        ln -s /usr/bin/fdfs_storaged   /usr/local/bin
        ln -s /usr/bin/stop.sh         /usr/local/bin
        ln -s /usr/bin/restart.sh      /usr/local/bin

4: 安装FastDfs

解压fastdfs
        unzip fastdfs-5.11.zip
        cd fastdfs-5.11
        ./make.sh
        ./make.sh install
        
        成功之后查看目录
    
            [root@localhost muyou]# cd /etc/fdfs/
            [root@localhost fdfs]# ll
            -rw-r--r-- 1 root root  1461 Jun  8 21:56 client.conf.sample
            -rw-r--r-- 1 root root  7927 Jun  8 21:56 storage.conf.sample
            -rw-r--r-- 1 root root  7389 Jun  8 21:56 tracker.conf.sample
        
        我们需要把这三个实例文件服务一份,去掉sample
    
            cp client.conf.sample client.conf
            cp storage.conf.sample storage.conf
            cp tracker.conf.sample tracker.conf

5:安装tracker

· 创建tarcker工作目录
        这个目录可以自定义,用来保存tracker的data和log
        根据个人习惯,创建目录
        /usr/muyang/dev/fastdfs/fastdfs_tracker
        
        配置tracker
        cd /etc/fdfs
        vi tracker.conf
        
        打开后找到下面4处然后修改即可
    
        1.disabled=false #默认开启 
        2.port=22122 #默认端口号 
        3.base_path=/usr/muyou/dev/fastdfs/fastdfs_tracker #刚刚创建的目录 
        4.http.server_port=6666 #默认端口是8080
    
        启动 tracker 命令如下。
        service fdfs_trackerd start
        如果不能成功启动,可以通systemctl命令
        systemctl start fdfs_trackerd
            
        进入 (点点111) 创建的tracker目录。发现目录多了data和log两个目录
        
        设置开机启动tracker
        chmod +x /etc/rc.d/rc.local
         vi /etc/rc.d/rc.local
         
         在配置文件最后加下最后一句话即可
         service fdfs_trackerd start
         
        保存,然后 查看tracker端口监听情况
        netstat -unltp|grep fdfs

6:安装storage

为storage配置工作目录,在自己创建的目录/usr/muyang/dev/fastdfs创建
        fastdfs_storage 文件夹
        fastdfs_storage_data 文件夹
        
        修改storage配置文件
        vi /etc/fdfs/storage.conf
        
        1.disabled=false 
        2.group_name=group1 #组名,根据实际情况修改 
        3.port=23000  #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 
        4.base_path=/usr/muyou/dev/fastdfs/fastdfs_storage  #设置storage数据文件和日志目录 
        5.store_path_count=1 #存储路径个数,需要和store_path个数匹配 
        6.base_path0=/usr/muyou/dev/fastdfs/fastdfs_storage_data #实际文件存储路径 
        7.tracker_server=192.168.150.132:22122 #我CentOS7的ip地址 
        8.http.server_port=8888 #设置 http 端口号
        
        启动storage
        service fdfs_storaged start
        同理 如果不能启动可以用下述命令
        systemctl start fdfs_storaged
    
        设置开机启动
        修改rc.local
        vim /etc/rc.d/rc.local
        
        service fdfs_storaged start    
        
        查看服务是否启动
        netstat -unltp | grep fdfs
        
        服务启动,到此fastdfs已经配置完成了。最后我们再确认一下,storage是否注册到了tracker中去。
        /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
        成功后可以看到: 
        ip_addr = 192.168.150.132 (localhost.localdomain) ACTIVE 的字样
        
        修改客户端配置文件
        vi /etc/fdfs/client.conf
        
        base_path=/usr/muyang/dev/fastdfs/fastdfs_tracker #tracker服务器文件路径
        tracker_server=192.168.150.132:22122 #tracker服务器IP地址和端口号
        http.tracker_server_port=6666 # tracker 服务器的 http端口号,必须和tracker的设置对应起来

7:接下来上传图片到centos7为测试

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /root/测试1.png  #你上传的图片路径(linux上的)
        
        成功之后会返回图片的路径
        group1/M00/00/00/wKiWhFrdeCeAC_vCAABqgowGIFg399.png
        
        我们去刚才上传的路径查看是否上传成功
        
        cd /usr/muyang/dev/fastdfs/fastdfs_storage_data/data/00/00
        
        果然我们找到了图片了。    data下有256个1级目录,每级目录下又有256个2级子目录,总共65536个文件,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据直接作为一个本地文件存储到该目录中。
        
        然后我们HTTP访问文件
        http://192.168.150.132:9999/group1/M00/00/00/wKiWhFrdeCeAC_vCAABqgowGIFg399.png
        我们发现,http不能直接访问到图片。这是为什么呢。
        原来早在4.05的时候,就remove embed HTTP support
        
        HTTP请求不能访问文件的原因:
        我们在使用FastDFS部署一个分布式文件系统的时候,通过FastDFS的客户端API来进行文件的上传、下载、删除等操作。同时通过FastDFS的HTTP服务器来提供HTTP服务。但是FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务,所以FastDFS的开发者——淘宝的架构师余庆同学,为我们提供了Nginx上使用的FastDFS模块(也可以叫FastDFS的Nginx模块)。 
        FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组之间的服务器需要复制文件,有延迟的问题.假设Tracker服务器将文件上传到了192.168.128.131,文件ID已经返回客户端,这时,后台会将这个文件复制到192.168.128.131,如果复制没有完成,客户端就用这个ID在192.168.128.131取文件,肯定会出现错误。这个fastdfs-nginx-module可以重定向连接到源服务器取文件,避免客户端由于复制延迟的问题,出现错误。 
        正是这样,FastDFS需要结合nginx,所以取消原来对HTTP的直接支持。

8:FastDFS的nginx模块安装

准备nginx安装
        cd /home/muyang
        在安装nginx之前要安装nginx所需的依赖lib:
        
        tar -zxvf nginx-1.7.8.tar.gz
        
        然后进入nginx安装目录,添加fastdfs-nginx-module:
        ./configure --prefix=/usr/local/nginx --add-module=/home/muyang/fastdfs-nginx-module-master/src    #解压后fastdfs-nginx-module所在的位置
        
        如果没有错误信息,开始安装
        make
        make install
        
        nginx的默认目录是/usr/local/nginx 开始 配置storage nginx
        
        root@localhost nginx-1.12.0]# cd /usr/local/nginx
        [root@localhost nginx]# ll
        
        修改nginx.conf:
        修改listen 9999.然后 新增本地location
        location /group1/M00 {
            root /usr/muyang/dev/fastdfs/fastdfs_storage_data/data;
            ngx_fastdfs_module;
        }
        
        然后进入FastDFS安装时的解压过的目录,将http.conf和mime.types拷贝到/etc/fdfs目录下
        另外还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下
        
        对刚刚拷贝的mod_fastdfs.conf文件进行修改
        vi /etc/fdfs/mod_fastdfs.conf
        
             base_path=/usr/muyou/dev/fastdfs/fastdfs_storage  #保存日志目录
             tracker_server=192.168.150.132:22122 #tracker服务器的IP地址以及端口号
             storage_server_port=23000 #storage服务器的端口号
             url_have_group_name = true #文件 url 中是否有 group 名
             store_path0=/usr/muyou/dev/fastdfs/fastdfs_storage_data   #存储路径
             group_count = 3 #设置组的个数,事实上这次只使用了group1
         
        在文件的最后,设置group
        
            [group1]
            group_name=group1
            storage_server_port=23000
            store_path_count=1
            store_path0=/usr/muyang/dev/fastdfs/fastdfs_storage_data
            store_path1=/usr/muyang/dev/fastdfs/fastdfs_storage_data
             
            # group settings for group #2
            # since v1.14
            # when support multi-group, uncomment following section as neccessary
            [group2]
            group_name=group2
            storage_server_port=23000
            store_path_count=1
            store_path0=/usr/muyang/dev/fastdfs/fastdfs_storage_data
             
            [group3]
            group_name=group3
            storage_server_port=23000
            store_path_count=1
            store_path0=/usr/muyang/dev/fastdfs/fastdfs_storage_data
            
        创建M00至storage存储目录的符号连接:
        ln  -s  /usr/muyang/dev/fastdfs/fastdfs_storage_data/data/ /usr/muyang/dev/fastdfs/fastdfs_storage_data/data/M00
        
        启动nginx
        /usr/local/nginx/sbin/nginx
        
        访问图片,能访问到则成功
        http://192.168.3.133:9999/group1/M00/00/00/wKgDhV2BAZuAQ6hNAAAoP1X36Zw528.png

发布了10 篇原创文章 · 获赞 0 · 访问量 837

猜你喜欢

转载自blog.csdn.net/qq_38362274/article/details/100932389
今日推荐