FASTDFS在OPENSUSE環境搭建

源碼:http://code.google.com/p/fastdfs/php

論壇:http://bbs.chinaunix.net/forum-240-1.htmlhtml

配置說明:http://bbs.chinaunix.net/thread-1941456-1-1.htmlnginx

 

安裝篇

  1. 1.    服務器說明git

角色github

IPweb

操做系統服務器

依賴軟件併發

tracker負載均衡

162.119.111.183高併發

SUSE11.SP1

Fastdfs

libevent

nginx

storage

162.119.111.183

162.119.111.184

SUSE11.SP1

Fastdfs

libevent

nginx

fastdfs-nginx-module

  1. 2.    軟件版本

軟件名

版本

下載路徑

libevent

  1. 0.21-stable

https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

Fastdfs

V4.0.6

http://fastdfs.googlecode.com/files/FastDFS_v4.06.tar.gz

fastdfs-nginx-module

v1.15

https://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.15.tar.gz

nginx

  1. 4.4

http://nginx.org/download/nginx-1.4.4.tar.gz

  1. 3.    安裝libevent

>> tar zvxf libevent-2.0.21-stable.tar.gz

>> cd libevent-2.0.21-stable

>> ./configure --prefix=/usr  (必須安裝到這裏)

>> make

>>make install

 

64爲系統執行

ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 

 

  1. 4.    安裝FastDFS

>> tar zvxf FastDFS_v4.06.tar.gz

>> cd FastDFs

>> ./make.sh

>> ./make.sh install

安裝成功後,FastDFS 安裝在/usr/local/bin中。配置文件在/etc/fdfs

至此,FastDFS安裝完畢

  1. 5.    Storage上安裝nginx

FastDFS經過HTTP服務器來提供HTTP服務。爲了支持高併發的訪問,以及提供負載均衡等高性能的服務,本示例使用nginx做爲HTTP服務器,FastDFS爲咱們提供了Nginx上使用的FastDFS模塊(fastdfs-nginx-module)。此步操做只須要在storage上執行。tracker上不用執行。

>>  tar -zxvf fastdfs-nginx-module_v1.11.tar.gz   

(解壓後的路徑爲/home/fastdfs/fastdfs-nginx-module/)

>> tar -zxvf nginx-1.4.4.tar.gz

>> cd nginx-1.4.4

>>./configure --add-module=/usr/fastdfs-nginx-module/src

>> make

>> make install 

 

 

配置啓動篇

 

 

  1. 1.    tracker啓動

mkdir /home/fastdfs/storage

 

vi /etc/fdfs/tracker.conf

base_path=/home/fastdfs/tracker    ====>放置datalog的目錄。這個路徑必須存在

##include http.conf 修改成#include http.conf    ====> 這裏必定要注意!是 #include,不是include!!! 若是沒有此配置項,則不須要處理

 

啓動:

/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

關閉:

/usr/local/bin/stop.sh /usr/local/bin/fdfs_tracker

 

  1. 2.    storage啓動

mkdir /home/fastdfs/storage

 

vi /etc/fdfs/storage.conf

 

 group_name=group1 ==> 此臺storage server所屬的服務器組名。

 base_path=/home/fastdfs/storage ==>放置datalog的目錄。此路徑必須保證存在。

 store_path0=/home/fastdfs/storage ==> 放置文件的目錄,此路徑必須保證存在.

tracker_server=162.119.111.183:22122  

http.disabled=true ==>關閉內置的web server,若是有就設置,不然就不用設置。

  http.server_port=8080  ===> web server的端口改爲8080(與nginx 端口一致)

 

cp /usr/fastdfs-nginx-module/src/mod_fastdfs.conf  /etc/fdfs/

vi  /etc/fdfs/mod_fastdfs.conf

 

base_path=/home/fastdfs/storage  ==> 放置log的目錄,storage中的配置保持一致。

tracker_server=162.119.111.183:22122   

 

group_name=group1     ==> 此臺storage server所屬的服務器組名。

url_have_group_name = true    ==> URL中包含group名稱。必定要設置true

store_path0=/home/fastdfs /storage   ==> 放置文件的目錄,與storage中保持一致

response_mode=proxy  ==> 對文件同步延遲的處理方式,經過redirect跳轉和proxy代理兩種方式解決

group_count=2   ==>group的個數,在本示例中有兩個group,因此設爲2,若是隻有一個group則設置爲0,而不是爲1

 

啓動storage

/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

關閉 storage

/usr/local/bin/stop.sh /usr/local/bin/fdfs_storage

  1. 3.    nginx啓動(只需在storage啓動)

vi /usr/local/nginx/conf/nginx.conf

 

server

  {

 

    location ~ /group([0-9])/M00

{

         alias /home/fastdfs/storage/data;

        ngx_fastdfs_module;

    }

    listen 8080;

    server_name  162.119.111183;

  }

啓動ngnix

/usr/local/nginx/sbin/nginx

-----------------------------------------華麗的分割線-------------------------------------

到此fastdfs已經搭建完畢。

 

測試篇

  1. 1.    查看集羣狀況

/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf

 

  1. 2.    Upload測試

vi /etc/fdfs/client.conf

base_path=/home/fastdfs/storage

tracker_server=162.119.111.183:22122   

http.tracker_server_port=8080 //這個必定要跟tracker.conf裏面配置的同樣

##include http.conf 修改成#include http.conf    ====> 這裏必定要注意!是 #include,不是include!!! 若是沒有此配置項,則不須要處理

/usr/local/bin/fdfs_test /etc/fdfs/client.conf  upload  hello.txt

  1. 3.    下載測試

 

FastDFS 4.06Tracker Server再也不內置http服務

訪問文件有四種方式

1, 直接storage ip方式, 可供臨時訪問
2, dns
輪轉
3,
負載均衡設備
4,
加一層代理.

 

採用第三種方式,引入nginx,作反向代理進行負載均衡

 

安裝nginx不用引入 --add-module=/home/fastdfs/fastdfs-nginx-module/src

>> tar -zxvf nginx-1.4.4.tar.gz

>> cd nginx-1.4.4

>>./configure

>> make

>> make install 

 

vi /usr/local/nginx/conf/nginx.conf

upstream 162.119.111.183 {

        server 162.119.111.183:8080 weight=10;

        server 162.119.111.184:8080 weight=10;

        }

    server {

        listen       80;

        server_name  162.119.111.183;

 location / {

                proxy_pass    http://162.119.111.183/;

                proxy_redirect default ;

        }

}

 

Notice

*tracker 按正常部署。tracker 可部署在內網區,不對外。
*
每一個storage都安裝nginxfastdfs擴展模塊,防止訪問到此storage時文件不在此處,擴展模塊能自動到其餘服務器拿文件。storage可部署在內網區,不對外。
*
增長一個或多個負載均衡服務器(haproxy,nginx),每一個group都作下storage配置,可負載,可解決單個storage服務器掛掉的問題。

 

 

參考:

http://www.cnblogs.com/chenfei0801/p/3455257.html

http://www.cnblogs.com/chenfei0801/p/3446697.html

http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4101154

相關文章
相關標籤/搜索