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);

?>

时间: 2024-10-26 10:32:08

fastdfs及php扩展在ubuntu14.04的安装配置的相关文章

Ubuntu14.04 kylin 安装配置Tomcat7服务器

Ubuntu14.04 kylin 安装配置Tomcat7服务器: 放入当前登录用户根目录: ~ 1.依旧是解压 tar –xzf apache-tomcat-7.0.40.tar.gz 得到apache-tomcat-7.0.40文件夹 2.改个名字,不然敲着蛋疼: mv apache-tomcat-7.0.40 tomcat 3.放入/usr/local/ sudo mv tomcat /usr/local/ 4.进入/usr/local/tomcat cd /usr/local/tomca

Ubuntu14.04下安装配置Android开发环境

下载安装配置JDK Java SE Downloads 安装包: jdk-8u11-linux-x64.tar.gz cd /usr/lib/ sudo mkdir jvm cd /home/user/ tar zxvf jdk-8u11-linux-x64.tar.gz -C /usr/lib/jvm/ cd /usr/lib/jvm sudo mv jdk1.8.0_11/ java-8-sun 修改.bashrc,添加环境变量 vim ~/.bashrc 2. 下载安装ADT&SDK 官网

Ubuntu14.04下安装ZendStudio10.6.1+SVN出现Failed to load JavaHL Library

Subclipse不能正常工作,打开后报错: Failed to load JavaHL Library. These are the errors that were encountered: no libsvnjavahl-1 in java.library.path no svnjavahl-1 in java.library.path no svnjavahl in java.library.path 原来是缺少一些关联文件,去subclipse的Wiki看了看,说需要安装libsvn-

ubuntu14.04 64bit 安装 &amp;amp;&amp;amp; 破解quartus13.0 记录

安装文件:Quartus-13.0.0.156-linux.iso             Quartus-13.0.0.156-devices-1.iso 1.挂载:sudo mount -o loop Quartus-13.0.0.156-linux.iso /media/mnt    //mnt 提前建立好 2.直接执行 sudo ./setup.sh 就可以安装 我的安装文件夹:/usr/local/altera/13.0/quartus 3. 1).quartus安装完毕后,直接执行执

一、Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创建hadoop用户 sudo adduser -ingroup hadoop hadoop 回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可. 如果不输入密码,回车后会重新提示输入密码,即密码不能为空. 最后确认信息是否正确,如果没问题,输入 Y,回车即可. 3.为ha

Ubuntu14.04下安装Caffe总结

转摘http://weibo.com/p/2304189db078090102vdvx 虽然Deep Learning已经不是什么新鲜的东西了,但是由于设备原因,自己一直没有涉足.前几天有幸换了一台自带GPU的Workstation,甚是高兴.于是迫不及待地装了个Ubuntu系统,开始配置DeepLearning框架Caffe.前后共花了差不多两天时间,终于把它配好了.配了这么多年的软件,Caffe应该是我配过最复杂的软件,没有之一.终于知道为什么用Caffe的人这么多,亲自去配它的人这么少了.

[译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js

**原文链接为** [http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/](http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/) **由作者Jacob Nicholson 发表于October 27, 2015** **在此对作者表示感谢** Node.js作为一个基于JavaScript的开发平台,正变得越来越流行.许多开发人员都想构建通过

ubuntu14.04下安装lec10.1过程记录

0.lec为Candence公司推出的形式验证工具,由于要学习IC后端的知识,打算在ubuntu14.04下安装一套后端工具,建立后端环境,通过练习完成后端知识的入门,安装过程记录下来,留作以后查看,如果对您有一些帮助,倍感欣慰! 1.安装源文件 >lec10.1:http://pan.baidu.com/s/1o6wqu5G 3.安装与破解 >解压lec_10.1.tgz到安装目录 >设置环境如下: #add for lec export LEC_HOME=/usr/cad/lec_1

ubuntu14.04上Trac配置记录

系统环境:ubuntu14.04 (并假设Apache2服务可以正常运行) 1. 安装软件: sudo aptitude install trac python-mysqldb 2. 创建数据库Trac可支持的数据库有:sqlite, postgresql及mysql等.默认的是sqlite,但这里选用的是mysql. $ mysql -uroot -p Enter password: ****** mysql> CREATE DATABASE $myproject DEFAULT CHARAC