php fastdfs,FastDFS--扩展篇(Php&&Apache2&&Nginx)

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命令上传,结果如下:

5ec91264091accaff49e6a8d7a26e12a.png

编写test.php测试界面:

$file_info=fastdfs_get_file_info1('group1/M00/00/00/CgEGflArNZmlRB8kAAAADvvpdFc8638629');

var_dump($file_info);

?>

测试结果如下:

e107af6171b32cd3bae066d3c389a981.png

安装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

sethandler fastdfs

#加载mod_fastdfs.so模块

a2enmod mod_fastdfs

#修改虚拟主机配置,修改相关变量值,增加alias行配置

vi /etc/apache2/sites-enabled/000-default

DocumentRoot /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

在浏览器中测试如下:

6b8ced1334dab1fbc286c748c7d5789a.png

添加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一致,经过测试可以正常工作

052bddbd631902986222c1eb16b4ae93.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值