• fastdfs及php扩展在ubuntu14.04的安装配置


    一:简单介绍                 

               FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

               FastDFS 是一个 C 语言实现的开源轻量级分布式文件系统,作者余庆(happyfish100),支持 Linux、FreeBSD、AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合存储 4KB~500MB 之间的小文件,如图片网站、短视频网站、文档、app 下载站等,UC、京东、支付宝、迅雷、酷狗 等都有使用,其中 UC 基于 FastDFS 向用户提供网盘、广告和应用下载的业务的存储服务 FastDFS 与 MogileFS、HDFS、TFS 等都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务.

               在下一个文档我会做详细的说明。

                开源地址:https://github.com/happyfish100/fastdfs/

                相关文档: http://www.csource.org

    二:在ubuntu14.04的安装配置过程

                1:fastDFS内部绑定了libevent作为http服务器,所以首先安装libevent

                   sudo apt-get install libevent-dev

                2:fastdfs v5.0的版本需要首先编译安装libfastcommon

                    libfastcommon下载地址:https://github.com/happyfish100/libfastcommon

                    fastdfs的下载地址:https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

                    分别解压解包,我的放在/home/ubuntu/apk/

               3:编译安装libfastcommon

                     cd libfastcommon

                     ./make.sh

                     sudo ./make.sh install

                4:修改pthread位置

                     sudo find / name 'libpthread.so'返回的结果为:/usr/lib/x86_64linux-gnu/libpthread.so

                     sudo find / name 'libpthread.a'返回的结果为:/usr/lib/x86_64linux-gnu/libpthread.a

                     进入fastdfs的目录

                     cd fastdfs5.05

                     vi make.sh              修改对应pthread的位置信息

                     

                     这里把路径修改成如图所示

                 5:编译安装fastdfs

                      ./make.sh

                      ./make.sh install

                 6:如果我们仅仅想要安装编译php扩展,就可以跳过这几步对fastdfs的配置,直接开始php扩展的安装,但是不做前面几步是没有办法直接安装编译php的fastclient扩展的

                  7:tracker server配置

                      mkdir -p /home/ubuntu/apk/fastdfs5.05/data                我的安装文件路径:/home/ubuntu/apk/fastdfs5.05,创建fastdfs的存储数据的目录

                      sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf         其实很容易发现,在执行make.sh的时候在/etc/fdfs里面生成了tracker server,storage server client的配置文件的副本,如果想投入使用,就得把相应的文件改成conf文件后缀即可

                      sudo vi tracker.conf

                      修改几个基本的位置

           base_path=/home/ubuntu/apk/fastdfs5.05/data          这个路径用来存储数据文件和日志文件,也就是说,tracker和storage服务器的日志文件都在这里查看
                       启动tracker server
                       /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
                       我把这句启动命令加入了开机启动,以防手动启动,在/etc/rc.local文件中最后加入这一行指令即可

                     8:storage server 配置

                          mkdir /home/ubuntu/apk/fastdfs5.05/data(如果我们的storage server和traker不在一台机器,需要这么做)    创建存储数据的目录
                          mkdir /home/ubuntu/apk/fastdfs5.05/image
                          sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf           同样把备份文件复制过来使用
                          修改配置
                          base_path=/home/ubuntu/fastdfs5.05/data
                          store_path0=/home/ubuntu/fastdfs5.05/image    (如果不设置的话,就会默认保存在base_path的路径中)
                          tracker_server=192.168.11.220:22122   (这里指定特定的tracker server)
                          storage有不同的分组,如果有多个分组,需要指定该storage对应的分组名
                          然后把一些其他配置文件复制到配置文件目录
                         cp /root/software/fastdfs-5.05/conf/http.conf /etc/fdfs
            cp /root/software/fastdfs-5.05/conf/mime.types /etc/fdfs/
                         新建目录之后简历storage存储目录的软连接,这为了方便管理,也可以不做

                         ln -s  /opt/fastdfs/image/data   /opt/fastdfs/image/data/M00

                         启动storage server

                         /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start              

                       9:进入fastdfs的php_client源码目录,进行php的phpize

                          cd /home/ubuntu/apk/fastdfs5.05/php_client

                          phpize

                          make &&sudo make install 

                          然后注意,要把fastdfs自带的php扩展追加到php的配置文件中

                         sudo  cat fastdfs_client.ini >> /etc/php5/cli/php.ini

                         mkdir /home/ubuntu/fastdfs5.05/data/php

                         sudo cp /etc/fdfs/client.conf.sample /etc.fdfs/client.conf

                         查看一下,fastdfs_client是否安装成功

                         php -m | grep fastdfs_client

                         发现并没有安装成功,原因是

                         libfastcommon.so,libfdfsclient.so默认安装到了/usr/lib64/libfastcommon.so/usr/lib64/libfdfsclient.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 -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
                         ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

                         其实也可以在我们一开始在make.sh的脚本里面修改,编译安装的默认地址,这里如果没有修改,就设置软连接

                         编辑配置文件

                         sudo vi client.conf

                        base_path=/home/ubuntu/apk/fastdfs5.05/data/php

                  tracker_server=192.168.11.220:22122

                  bind_ip=""                   (如果tracker server storage server在同一个机器上,就必须设置bind_ip为空,在使用的时候,才会重新分配,否则会出现ip被占用的问题)

                 10:我们现在可以使用php写一个脚本来调用fastdfs的函数 ,如 fastdfs_storage_upload_by_filename,如果函数存在,那么我们的php扩展就算安装成功

                         

                            vi test.php

                             <?php

                              var_dump(function_exists('fastdfs_storage_upload_by_filename'));

                              $ret = fastdfs_storage_upload_by_filename('/tmp/upload.html');

                              var_dump($ret); 

                              ?>

                    

  • 相关阅读:
    jmeter_04_常用取样器
    jmeter_03_鉴权
    jmeter_02_目录文档说明
    jmeter_01_常用快捷键
    Web Api 与 Andriod 接口对接开发经验
    Eclipse自动生成作者、日期注释等功能设置
    c#解析XML到DATASET及dataset转为xml文件函数
    Jquery 仿 android Toast效果
    正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法
    异步网络加载开源框架AsyncHttpClient使用
  • 原文地址:https://www.cnblogs.com/dtiove/p/5788836.html
Copyright © 2020-2023  润新知