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

    

    FastDFS不是通用的文件系統,只能經過專用的API來訪問,目前提供了C JAVA PHP的API,下面咱們來安裝php擴展。php

    讓Fastdfs支持php,在FastDFS的源碼包解壓后里面有個php_client目錄,進入此目錄,參照README進行安裝:nginx

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函數解釋,能夠進行測試。web

   測試:shell

    建立一個test-file文件,內容:I'm test file,而後使用fdfs_upload_file命令上傳,結果以下:apache


    編寫test.php測試界面:centos

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

   測試結果以下:瀏覽器



    安裝apache2擴展:dom

    在每臺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一致,通過測試能夠正常工做
相關文章
相關標籤/搜索