文档章节

FastDFS--扩展篇(Php&&Apache2&&Nginx)

China_OS
 China_OS
发布于 2012/08/15 14:43
字数 661
阅读 3727
收藏 11

    

    FastDFS不是通用的文件系统,只能通过专用的API来访问,目前提供了C JAVA PHP的API,下面我们来安装php扩展。

    让Fastdfs支持php,在FastDFS的源码包解压后里面有个php_client目录,进入此目录,参照README进行安装:

phpize
./configure
make
make install

    安装完成后会自动把modules/fastdfs_client.so 拷贝到/usr/lib/php5/20090626目录下,只需要把fastdfs_client.ini copy到/etc/php5/conf.d目录下,执行php fastdfs_test.php 进行测试,php5 -m也会看到fastdfs_client模块,在README中还有相关的php函数解释,可以进行测试。

   测试:

    创建一个test-file文件,内容:I'm test file,然后使用fdfs_upload_file命令上传,结果如下:


    编写test.php测试界面:

<?php
$file_info=fastdfs_get_file_info1('group1/M00/00/00/CgEGflArNZmlRB8kAAAADvvpdFc8638629');
var_dump($file_info);
?>

   测试结果如下:



    安装apache2扩展:

    在每台storage server上部署web server,直接对外提供HTTP服务,tracker server上不需要部署web server,如果请求文件在当前storage上不存在,通过文件ID反解出源storage,直接请求源storage,FastDFS扩展模块不依赖于FastDFS server,可以独立存在!

    在storage上安装apache2

apt-get install apache2 apache2.2-common apache2.2-bin apache2-utils apache2-mpm-prefork libapache2-mod-php5 apache2-prefork-dev

    下载扩展包

wget http://fastdfs.googlecode.com/files/fastdfs-apache-module_v1.10.tar.gz

    由于默认的包的配置都是centos下的配置,所以在安装前需要修改一下Makefile文件

tar zxvf fastdfs-apache-module_v1.10.tar.gz
cd fastdfs-apache-module/src
vi Makefile
#相对应的变量改成以下值,只针对debian6下apt方式安装的apache2
APACHE_BASE_PATH=/usr/share/apache2/
APXS=/usr/bin/apxs2
APACHECTL=/usr/bin/apachectl

    安装

make
make install

    修改apache2配置

#创建mod_fastdfs.load文件
vi /etc/apache2/mods-available/mod_fastdfs.load
LoadModule fastdfs_module /usr/lib/apache2/modules/mod_fastdfs.so
<Location /M00>
    sethandler  fastdfs
</Location>
#加载mod_fastdfs.so模块
a2enmod mod_fastdfs
#修改虚拟主机配置,修改相关变量值,增加alias行配置
vi /etc/apache2/sites-enabled/000-default
DocumentRoot /opt/fdfs/data/
<Directory /opt/fdfs/data/>

alias /group1/M00 /opt/fdfs/data

    修改mod_fastdfs.conf配置

vi /etc/fdfs/mod_fastdfs.conf
base_path=/opt/fdfs
tracker_server=x.x.x.x:22122
store_path0=/opt/fdfs

    配置生效

/etc/init.d/apache2 restart

     测试先上传一个图片:

fdfs_upload_file /etc/fdfs/client.conf 2.jpg

    返回文件ID:group1/M00/00/00/CgEGflArRqG5Nsu_AACLn3wEca8908.jpg

    在浏览器中测试如下:



    添加nginx扩展:

    下载扩展包:

wget http://fastdfs-nginx-module.googlecode.com/files/fastdfs-nginx-module_v1.10.tar.gz

    由于nginx的模块都为静态加载,所以需要编译安装nginx,过程如下:

./configure  --prefix=/etc/nginx2/  --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module 
              --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module 
              --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-file-aio --with-ipv6 
	      --add-module=/root/fastdfs-nginx-module/src

make && make install

    修改nginx.conf,添加如下内容:

vi /etc/nginx2/conf/nginx.conf
#在server字段下添加以下内容
location /M00 {
       root /opt/fdfs/data;
       ngx_fastdfs_module;
}

     /etc/fdfs/mod_fastdfs.conf配置文件的修改和apache2一致,经过测试可以正常工作




© 著作权归作者所有

共有 人打赏支持
下一篇: FastDFS--安装篇
China_OS
粉丝 418
博文 460
码字总数 513813
作品 0
静安
技术主管
私信 提问
FastDFS安装使用实战一(安装篇)

最近在研究负载均衡和集群,其中涉及到一个主要问题是,如何让集群中的real server共享一套文件系统。在网上查到FastDFS,国人(happy fish,感谢他的开源精神)开发的一套轻量级分布式文件系...

凯文加内特
2015/03/30
0
0
FASTDFS在OPENSUSE环境搭建

源码:http://code.google.com/p/fastdfs/ 论坛:http://bbs.chinaunix.net/forum-240-1.html 配置说明:http://bbs.chinaunix.net/thread-1941456-1-1.html 安装篇 1. 服务器说明 角色 IP 操......

大草原上的一个娃
2014/03/14
0
0
FastDFS的配置、部署与API使用解读 (1)

1、背景 FastDFS是一款开源的、分布式文件系统(Distributed File System),由淘宝开发平台部资深架构师余庆开发。该开源项目的主页是 http://code.google.com/p/fastdfs 。可以通过fastdfs...

吾爱
2012/12/04
0
0
FastDFS的配置、部署与API使用解读(1)Get Started with FastDFS

转载请注明来自:诗商·柳惊鸿CSDN博客,原文链接:FastDFS的配置、部署与API使用解读(1)入门使用教程 1、背景 FastDFS是一款开源的、分布式文件系统(Distributed File System),由淘宝开...

晨曦之光
2012/04/24
280
0
FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码

本文来自 诗商·柳惊鸿 Poechant CSDN博客,转载请注明源地址: FastDFS的配置、部署与API使用解读(2)上传文件到FastDFS分布式文件系统的客户端代码 在阅读本文之前,请您先通过 《FastDFS...

晨曦之光
2012/04/24
432
0

没有更多内容

加载失败,请刷新页面

加载更多

Python 批量修改图片exif属性

Python 批量修改图片exif属性 一共两个文件 config.ini  //放配置文件 exif.py   //主程序文件 config.ini 文件源码 [global]Artist = www.blmm.com ;作者DateTimeOriginal = now ;时...

阿锋zxf
32分钟前
0
0
一文说尽MySQL事务及ACID特性的实现原理

本文将首先介绍 MySQL 事务相关的基础概念,然后介绍事务的 ACID 特性,并分析其实现原理。MySQL 博大精深,文章疏漏之处在所难免,欢迎批评指正。 MySQL 事务基础概念 事务(Transaction)是访...

架构师springboot
53分钟前
8
0
Vue +Element UI后台管理模板搭建示例

一、蓝色主题 Element ui 后台管理 Demo https://github.com/taylorchen709/vueAdmin https://taylorchen709.github.io/vueAdmin/#/user Element ui 文档 http://element.eleme.io/#/zh-CN/......

tianma3798
今天
3
0
小白学习大数据的最详细的学习路线图就在这里

现如今大数据已经上升到国家战略层面,企业对于大数据的关注和重视程度也在不断提升。想要成为大数据工程师,大需要很多种基础理论知识与编程框架、分布式服务器等来支撑,这也是使得一个大数...

董黎明
今天
10
0
聊聊flink JobManager的High Availability

序 本文主要研究一下flink JobManager的High Availability 配置 flink-conf.yaml high-availability: zookeeperhigh-availability.zookeeper.quorum: zookeeper:2181high-availability.zo......

go4it
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部