FastDFS--扩展篇(Php&&Apache2&&Nginx)
  fMcd99JWoYyG 2023年11月02日 43 0


   

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

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

    编写test.php测试界面:

 


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

 var_dump($file_info); 
 
   

?>

 

   测试结果如下:

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

 

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

 

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

 

    安装

 


make

 make install


 

    修改apache2配置

 

1
#创建mod_fastdfs.load文件
 
   
2
 vi /etc/apache2/mods-available/mod_fastdfs.load 
 
   
3
LoadModule fastdfs_module /usr/lib/apache2/modules/mod_fastdfs.so
 
   
4
<Location /M00>
 
   
5
 sethandler  fastdfs 
 
   
6
</Location>


1
#加载mod_fastdfs.so模块
 
   
2
a2enmod mod_fastdfs


1
#修改虚拟主机配置,修改相关变量值,增加alias行配置
 
   
2
 vi /etc/apache2/sites-enabled/000-default 
 
   
3
DocumentRoot /opt/fdfs/data/
 
   
4
<Directory /opt/fdfs/data/>
 
   
5
 
 
   
6
 alias /group1/M00 /opt/fdfs/data

 

    修改mod_fastdfs.conf配置

 

1
 vi /etc/fdfs/mod_fastdfs.conf 
 
   
2
base_path=/opt/fdfs
 
   
3
tracker_server=x.x.x.x:22122
 
   
4
store_path0=/opt/fdfs

 

    配置生效

 


1
/etc/init.d/apache2 restart

 

测试先上传一个图片:

 

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

 

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

    在浏览器中测试如下:

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

 

 

 

 

 

 

    添加nginx扩展:

    下载扩展包:

 


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

 

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

 

1
./configure  --prefix=/etc/nginx2/  --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module 
 
   
2
 --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module  
 
   
3
 --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-file-aio --with-ipv6  
 
   
4
 --add-module=/root/fastdfs-nginx-module/src 
 
   
5
 
 
   
6
 make && make install

 

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

 

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

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2iBE5Ikkruz5   2023年12月12日   62   0   0 JavaJavaredisredis
fMcd99JWoYyG