CentOS 7 安装配置分布式文件系统 FastDFS 5.11

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/danielzhou888/article/details/80563355

            CentOS 7  安装配置分布式文件系统  FastDFS 5.11


前言

    FastDFS是现在比较流行的分布式文件系统,很多互联网公司比较青睐于它,我们公司由之前的ZIMG现在转FastDFS,下面来讲讲简单的安装配置过程。

    安装包请自行百度,谢谢。

一、下载 

    1.下载对应的最新版本是5.11,直接在余大的GitHub上下载就可以了: https://github.com/happyfish100/fastdfs/releases
       
        2. 同时FastDFS 5.1.1同以前版本相比将公共的一些函数等单独封装成了libfastcommon包,所以在安装FastDFS之前我们还必须安装libfastcommon,在余大的GitHub首页可以看到: 
       
        3. 进入目录:
        cd /home/mayanfu/fastdfs/
       
        下载得到两个文件:
        fastdfs-5.11.tar.gz
        libfastcommon-1.0.36.tar.gz
       
二、解压安装
   
        1. 安装 libfastcommon
                tar -xzvf libfastcommon-1.0.36.tar.gz
                cd libfastcommon-1.0.36
               
                执行./make.sh命令进行编译,没有error信息的话就说明编译成功了,
                最后再执行./make.sh install进行安装.
               
                libfastcommon.so 默认安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以此处需要重新设置软链接
               
                ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
                ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so                  --(ln: 无法创建符号链接"/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
       
        2. 安装FastDFS
               
                tar -xzvf fastdfs-5.11.tar.gz
                cd fastdfs-5.11
               
                依次执行./make.sh和./make.sh install
               
                安装到了/etc/fdfs中
               
                cd /etc/fdfs
                安装成功后就会生成如上的3个.sample文件(示例配置文件),我们再分别拷贝出3个后面用的正式的配置文件:
                cp client.conf.sample client.conf
                cp storage.conf.sample storage.conf
                cp tracker.conf.sample tracker.conf
       
        至此FastDFS已经安装完毕,接下来的工作就是依次配置Tracker和Storage了。
       
        3. 安装前置条件
                安装需要GCC 和 perl 可能需要提前安装
               
                yum -y install gcc-c++
                yum -y install perl
               
                如果没有装解压工具unzip可以通过以下yum命令进行安装后再解压:
                yum -y install unzip zip
               
三、配置 Tracker
        1. 在配置Tracker之前,首先需要创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等,我这里选择在/home目录下创建一个fastdfs_tracker目录用于存放Tracker服务器的相关文件:
                mkdir /home/fastdfs_tracker             
               
        2. 编辑上一步准备好的/etc/fdfs目录下的tracker.conf配置文件,打开文件后依次做以下修改:
                vi /etc/fdfs/tracker.conf
               
                disabled=false #启用配置文件(默认启用)
                port= 22122 #设置tracker的端口号,通常采用22122这个默认端口
                base_path=/home/fastdfs_tracker #设置tracker的数据文件和日志目录
                http.server_port=6666 #设置http端口号,默认为8080
               
        3. 配置完成后就可以启动Tracker服务器了,但首先依然要为启动脚本创建软引用,因为fdfs_trackerd等命令在/usr/local/bin中并没有,而是在/usr/bin路径下:
                ln -s /usr/bin/fdfs_trackerd /usr/local/bin
                ln -s /usr/bin/stop.sh /usr/local/bin
                ln -s /usr/bin/restart.sh /usr/local/bin
               
        4. 最后通过命令启动Tracker服务器:
                service fdfs_trackerd start
               
                如果启动命令执行成功,那么同时在刚才创建的tracker文件目录/home/fastdfs_tracker中就可以看到启动后新生成的data和logs目录,
               
                tracker服务的端口也应当被正常监听,最后再通过netstat命令查看一下端口监听情况:
                netstat -unltp|grep fdfs
                可以看到tracker服务运行的22122端口正常被监听:
               
        5.      确认tracker正常启动后可以将tracker设置为开机启动,打开/etc/rc.d/rc.local并在其中加入以下配置:
                vi /etc/rc.d/rc.local
               
                service fdfs_trackerd start
               
                查看端口:ss -ntl
               
四、配置Storage
        1.步骤基本与配置Tracker一致,首先是创建Storage服务器的文件目录,需要注意的是同Tracker相比我多建了一个目录,因为Storage还需要一个文件存储路径,用于存放接收的文件:
                mkdir /home/fastdfs_storage
                mkdir /home/fastdfs_storage_data
               
        2. 接下来修改/etc/fdfs目录下的storage.conf配置文件,打开文件后依次做以下修改:
                vi  /etc/fdfs/storage.conf
               
                disabled=false #启用配置文件(默认启用)
                group_name=group1 #组名,根据实际情况修改
                port= 23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
                base_path=/home/fastdfs_storage #设置storage数据文件和日志目录
                store_path_count=1 #存储路径个数,需要和store_path个数匹配
                store_path0=/home/fastdfs_storage_data #实际文件存储路径
                tracker_server=192.168.111.11:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)
                http.server_port=8888 #设置 http 端口号
               
        3. 配置完成后同样要为Storage服务器的启动脚本设置软引用:

                ln -s /usr/bin/fdfs_storaged /usr/local/bin
               
        4. 接下来就可以启动Storage服务了:

                service fdfs_storaged start
               
                如果启动成功,/home/fastdfs_storage中就可以看到启动后新生成的data和logs目录,端口23000也应被正常监听,还有一点就是文件存储路径下会生成多级存储目录,那么接下来看看是否启动成功了: 
               
                netstat -unltp|grep fdfs
                查看端口:ss -ntl 
                有22122端口  和23000端口说明成功了
               
        5. 至此storage服务器就已经配置完成,确定了storage服务器启动成功后,还有一项工作就是看看storage服务器是否已经登记到 tracker服务器(也可以理解为tracker与storage是否整合成功),运行以下命令:
                 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf     
               
                看到192.168.111.11 ACTIVE 字样即可说明storage服务器已经成功登记到了tracker服务器, 同理别忘了添加开机启动,打开/etc/rc.d/rc.local并将如下配置追加到文件中:
                service fdfs_storaged  start
               
五、安装nginx        storage服务器的nginx

        4.0.5版本开始移除了自带的HTTP支持(因为之前自带的HTTP服务较为简单,无法提供负载均衡等高性能服务),所以余大提供了nginx上使用FastDFS的模块fastdfs-nginx-module,下载地址如下:https://github.com/happyfish100/fastdfs-nginx-module,这样做最大的好处就是提供了HTTP服务并且解决了group中storage服务器的同步延迟问题,
       
        yum -y install  pcre-devel pcre  zlib zlib-devel  openssl openssl-devel
        依次装好这些依赖之后就可以开始安装nginx了。

       
        1. 下载fastdfs-nginx-module 得到fastdfs-nginx-module-master.zip
                cd /home/mayanfu/fastdfs/ 
               
                http://nginx.org/en/download.html 下载nginx 稳定版本nginx-1.12.2.tar.gz
               
        2.      解压安装
                tar -zxvf nginx-1.12.2.tar.gz
                unzip fastdfs-nginx-module-master.zip
               
                cd nginx-1.12.2
               
                ./configure --prefix=/usr/local/nginx --add-module=/home/mayanfu/fastdfs/fastdfs-nginx-module-master/src
                make
                make install
                安装完成后,我们在我们指定的目录/usr/local/nginx中就可以看到nginx的安装目录了:

        3. 接下来要修改一下nginx的配置文件,进入conf目录并打开nginx.conf文件加入以下配置:
                cd /usr/local/nginx
                vi nginx.conf
               
                listen       9999;

                location ~/group1/M00 {
                        root /home/fastdfs_storage_data/data;
                        ngx_fastdfs_module;
                }
               
        4. 然后进入FastDFS的安装目录/home/mayanfu/fastdfs/fastdfs-5.11目录下的conf目录,将http.conf和mime.types拷贝到/etc/fdfs目录下:

                cp -r /home/mayanfu/fastdfs/fastdfs-5.11/conf/http.conf /etc/fdfs/
                cp -r /home/mayanfu/fastdfs/fastdfs-5.11/conf/mime.types /etc/fdfs/
               
        接下来还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:

                cp -r /home/mayanfu/fastdfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
               
        5. 编辑刚拷贝的这个mod_fastdfs.conf文件了,打开mod_fastdfs.conf并按顺序依次编译以下内容:

                base_path=/home/fastdfs_storage #保存日志目录
                tracker_server=10.100.1.99:22122 #tracker服务器的IP地址以及端口号
                storage_server_port=23000 #storage服务器的端口号
                url_have_group_name = true #文件 url 中是否有 group 名
                group_name=group1
                store_path0=/home/fastdfs_storage_data # 存储路径
                group_count = 3 #设置组的个数,事实上这次只使用了group1 ----------- 此处改为1,只用group1
               
                // 此处不需要设置,全部去除
                设置了group_count = 3,接下来就需要在文件尾部追加这3个group setting:
               
                [group1]
                group_name=group1
                storage_server_port=23000
                store_path_count=1
                store_path0=/home/fastdfs_storage_data

                [group2]
                group_name=group2
                storage_server_port=23000
                store_path_count=1
                store_path0=/home/fastdfs_storage_data

                [group3]
                group_name=group3
                storage_server_port=23000
                store_path_count=1
                store_path0=/home/fastdfs_storage_data
               
               
        6. 接下来还需要建立 M00 至存储目录的符号连接:

                ln  -s  /opt/fastdfs_storage_data/data  /opt/fastdfs_storage_data/data/M00    (貌似有问题)
            // 改为下面
            ln -s /home/fastdfs_storage_data/data /home/fastdfs_storage_data/M00
ln -s /usr/local/fastdfs/fastdfs_storage_data/data /usr/local/fastdfs/fastdfs_storage_data/data/M00


        linux下面关闭防火墙:
                1) 重启后生效 
                        开启: chkconfig iptables on 
                        关闭: chkconfig iptables off 
                2) 即时生效,重启后失效 
                        开启: service iptables start 
                        关闭: service iptables stop 
                       
                       
        7.      最后启动nginx:
                /usr/local/nginx/sbin/nginx     
               
                通过浏览器也可以看到nginx的主页: http://10.100.1.99:9999/
                storage服务器的nginx就已经安装完毕,接下来看一下tracker服务器的nginx安装。
               
六、 tracker nginx       

        1. 再装一个nginx,目录命名为nginx2,安装路径依旧放在/usr/local下,由于和之前一样,此处就不再做详细解释:       
       
           mkdir /usr/local/nginx2
           
           cd nginx-1.12.2
              
//源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
                ./configure --prefix=/usr/local/nginx2 --add-module=/home/mayanfu/fastdfs/fastdfs-nginx-module-master/src
                make
                make install
               
        2. 接下来依然是修改nginx2的配置文件,进入conf目录并打开nginx.conf文件加入以下配置,storage的nginx修改listen端口,即默认的9980端口,并将upstream指向tracker的nginx地址:
             
                // 此处server为tracker中的nginx地址
                upstream fdfs_group1 {
                        server 127.0.0.1:9999;                   
                }

                // 此处监听端口默认9980,不可和其他端口冲突
                server {
                        listen 9980;
                        server_name localhost;

                        #charset koi8-r;

                        #access_log logs/host.access.log main;

                        location /group1/M00 {
                                proxy_pass http://fdfs_group1;
                        }

                        ……
                       
                }       
               
        3. 接下来启动nginx2:

                /usr/local/nginx2/sbin/nginx
               
                此时访问nginx2的主页 http://10.100.1.99:9980
               
七、客户端配置
       
        1.最后一步就是需要修改/etc/fdfs目录下的client.conf文件,打开该文件并加入以下配置:

                vi /etc/fdfs/client.conf
               
                base_path=/home/fastdfs_tracker #日志存放路径
                tracker_server=10.100.1.99:22122  #tracker 服务器 IP 地址和端口号
                http.tracker_server_port=6666  # tracker 服务器的 http 端口号,必须和tracker的设置对应起来
               
        2. 至此关于fastdfs就已经全部配置完毕了,再一次进行测试看看是否能正常上传文件并通过http访问文件。

        HTTP测试

                再给/opt/mayanfu/目录下上传一张 图: 
               
                通过客户端命令测试上传: 
                /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/mayanfu/0ec49f5ef18747b6a1ffc820ffc14964_th.jpg
                返回:group1/M00/00/00/CmQBY1p4ITyAXIvWAABzmXfpT5Y058.jpg

               
                打开浏览器输入ip地址+文件名看看是否能正常访问该图片:  http://10.100.1.99:9999/group1/M00/00/00/CmQBY1p4ITyAXIvWAABzmXfpT5Y058.jpg
               
                一切正常~ 至此关于FastDFS在CentOS 7下的部署测试就已经全部完成了。

        3.      注意:如果重启linux 系统 reboot  上面很多服务 不能 自动重启:

                所以使用脚本让他开机自动重启;

        #!/bin/bash
        #
        service fdfs_trackerd start
        service fdfs_storaged start
        /usr/local/nginx/sbin/nginx
        /usr/local/nginx2/sbin/nginx

猜你喜欢

转载自blog.csdn.net/danielzhou888/article/details/80563355