cy_88 发表于 2015-9-10 09:37:33

FastDFS安装扩展篇——安装PHP、Apache及Nginx的FastDFS扩展【所有fastdfs文档】

FastDFS安装扩展篇——安装PHP、Apache及Nginx的FastDFS扩展
  公司项目准备用fastdfs开始我就不知道这个是什么意思的,忙活了一个星期才大致明白,然后配置加使用,所有的东西都是从不懂到懂,前提是你要勇敢的面对他。东西就是让人用的,一个星期不会用,花费一个月的时间,只要刻苦钻研,一定会战胜的!
  关于linux下如何安装FastDFS请参考:http://www.icultivator.com/p/4843.html

一、安装配置FastDFS支持PHP
  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命令上传,结果如下:
http://www.icultivator.com/wp-content/uploads/2013/11/135930_k4YG_123777.jpg
  编写test.php测试界面:

<?php
$file_info=fastdfs_get_file_info1('group1/M00/00/00/CgEGflArNZmlRB8kAAAADvvpdFc8638629');
var_dump($file_info);
?>
  测试结果如下:
http://www.icultivator.com/wp-content/uploads/2013/11/140323_64h2_123777.jpg

二、安装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>
sethandlerfastdfs
</Location>
#加载mod_fastdfs.so模块
a2enmod mod_fastdfs
#修改虚拟主机配置,修改相关变量值,增加alias行配置
vi /etc/apache2/sites-enabled/000-default
DocumentRoot /var/www
<Directory /var/www>
alias /group1/M00 /var/www/data
  修改mod_fastdfs.conf配置

vi /etc/fdfs/mod_fastdfs.conf
base_path=/var/www
tracker_server=x.x.x.x:22122
store_path0=/var/www
  配置生效

/etc/init.d/apache2 restart
  测试先上传一个图片:

fdfs_upload_file /etc/fdfs/client.conf 2.jpg
  返回文件ID:group1/M00/00/00/CgEGflArRqG5Nsu_AACLn3wEca8908.jpg
  在浏览器中测试如下:
http://www.icultivator.com/wp-content/uploads/2013/11/145351_8Th3_123777.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一致,经过测试可以正常工作
  
  FastDFShttp://www.cnblogs.com/lori/archive/2013/05/21/3090134.html
  fastDFS配置:http://ylw6006.blog.iyunv.com/470441/948729/
  fastDFS配置文件说明http://bbs.chinaunix.net/thread-1941456-1-1.html
  fastDFS概念:http://www.oschina.net/p/fastdfs/
  fastDFS 安装:http://www.icultivator.com/p/4862.html
  fastDFS大全官网:http://bbs.chinaunix.net/forum-240-1.html
  http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4074700
  http://blog.iyunv.com/monkey_d_meng/article/details/6038995
  安装配置齐全:http://blog.iyunv.com/monkey_d_meng/article/details/6038995
  这个比较全:http://elf8848.iteye.com/blog/1739596
  fastDFS安装:http://blog.163.com/023_dns/blog/static/1187273662012101711031704/
  php下面 fastDFS如何用:http://www.zrwm.com/?p=4567
页: [1]
查看完整版本: FastDFS安装扩展篇——安装PHP、Apache及Nginx的FastDFS扩展【所有fastdfs文档】