centos 分佈式文件系統-FastDFS_v5.05安裝

注:(引用)首先看一下FastDFS架構示意圖以下:javascript

注:(引用)技術相關術語:css

Tracker Server:跟蹤服務器,主要作調度工做,在訪問上起負載均衡的做用。在內存中記錄集羣中group和storage server的狀態信息,是鏈接Client和    Storage server的樞紐。 由於相關信息所有在內存中,Tracker server的性能很是高,一個較大的集羣(好比上百個group)中有3臺就足夠了。  html

Storage Server:存儲服務器,文件和文件屬性(meta data)都保存到存儲服務器上。java

下面咱們就開始FastDFS的安裝了:node

首先 tracker 與 storage 的安裝基本相同的,只是配置的文件有些差異。nginx

tracker 安裝於  10.20.20.49 c++

storage 安裝於 10.20.20.14(能夠安裝多個storage,爲了方便說明,只列舉一個,其餘的storage安裝步驟相同(storage裏配置了tracker就能夠關聯起來))vim

tracker 與storage 能夠安裝於同一臺機器上,爲了方便擴展建議安裝在不一樣的機器上緩存

先去官網下載相關包服務器

1)FastDFS:    https://sourceforge.net/projects/fastdfs/

2)ibfastcommon:  https://sourceforge.net/projects/libfastcommon/(FastDFS 依賴工具包)

3)fastdfs-nginx-module :https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/(與nginx 集成用到)

4)ngx_cache_purge-2.3.tar(nginx的緩存用到)

5)nginx:http://nginx.org/en/download.html

安裝tracker:

1.把文件拷貝到 /usr/local ,解壓

     tar -zcxf  libfastcommon

     tar -zxvf FastDFS_v5.05.tar.gz

2.切換到 libfastcommon 目錄

按照這個組件須要先安裝它的依賴:

    cd libfastcommon    

    yum install gcc 

    yum install gcc-c++

    yum install gcc perl

    開始安裝:
    ./make.sh
    ./make.sh install

3.安裝FastDFS

    cd FastDFS
    ./make.sh
    ./make.sh install

4.安裝後會在/etc/fdfs/ 目錄生成fdfs的原始文件,切換到該目錄下,複製如下兩個文件:

    cd /etc/fdfs
    cp client.conf.sample client.conf
    cp tracker.conf.sample tracker.conf

5.修改拷貝後的文件,先建立tracker的日誌文件目錄,修改配置

    mkdir -p /opt/fdfs/tracker

    vim   tracker.conf

    須要修改的內容:     base_path=/opt/fdfs/tracker
                                    tracker_server=10.20.20.49:22122(tracker 的ip)

    (更多需求能夠參照網上其餘配置項)

6. 拷貝fdfs命令到指定目錄
    cp /usr/bin/fdfs_trackerd /usr/local/bin
    cp /usr/bin/fdfs_monitor /usr/local/bin
    cp /usr/bin/fdfs_upload_file /usr/local/bin
    cp /usr/bin/fdfs_test /usr/local/bin

7. 鏈接目錄

    ln -s /usr/include/fastcommon /usr/local/include/fastcommon 
    ln -s /usr/include/fastdfs /usr/local/include/fastdfs 
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

8.前面就已經安裝完tracker了,啓動測試。

        fdfs_trackerd /etc/fdfs/tracker.conf start

       查看服務: ps -ef|grep fdfs 

       

       查看日誌:cat  /opt/fdfs/tracker/logs/trackerd.log

到此 tracker 安裝完成。

安裝 storage

    注:若是是同一臺機器則(1-3步省略)

1.把文件拷貝到 /usr/local ,解壓

     tar -zcxf  libfastcommon

     tar -zxvf FastDFS_v5.05.tar.gz

2.切換到 libfastcommon 目錄

按照這個組件須要先安裝它的依賴:

    cd libfastcommon    

    yum install gcc 

    yum install gcc-c++

    yum install gcc perl

    開始安裝:
    ./make.sh
    ./make.sh install

3.安裝FastDFS

        cd FastDFS
        ./make.sh
        ./make.sh install

4.安裝後會在/etc/fdfs/ 目錄生成fdfs的原始文件,切換到該目錄下,複製storage.conf.sample文件:

        cd /etc/fdfs

         cp storage.conf.sample storage.conf

         建立storage的存儲目錄和日誌目錄

         mkdir -p /opt/fdfs/storage (日誌目錄,看本身喜歡創那均可以)
         mkdir -p /data/fdfs             (存儲目錄,看本身喜歡創那均可以)

 5.修改storage.conf的配置文件

        修改項:

        base_path=/opt/fdfs/storage(日誌目錄)
        group_name=group1(設定的組名)
        store_path0=/data/fdfs(存儲目錄)
        tracker_server=10.20.20.49:22122(tracker服務器ip)
        http.server_port=8080

 6. 拷貝fdfs命令到指定目錄
    cp /usr/bin/fdfs_storaged /usr/local/bin
    cp /usr/bin/fdfs_monitor /usr/local/bin

 7.鏈接目錄

    ln -s /usr/include/fastcommon /usr/local/include/fastcommon 
    ln -s /usr/include/fastdfs /usr/local/include/fastdfs 
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

 8.啓動storage

     fdfs_storaged /etc/fdfs/storage.conf start

     查看storage是否啓動成功 ps -ef|grep fdfs 

      

     查看日誌文件:cat /opt/fdfs/stroage/logs/storaged.log 

 9.檢驗tracker 與storage 是否成關聯  

     在安裝storage 的機子上使用,出以下界面則說明已經安裝成功:fdfs_monitor /etc/fdfs/storage.conf

    

10.上傳文件測試,tracker 與storage 均可以:

      上傳命令:

      fdfs_upload_file(上傳命令)   工具   要上傳的文件

      fdfs_upload_file     /etc/fdfs/client.conf   /usr/local/E.........82.png

    先在tracker上:

    而後在storage上:

    驗證完成,只是訪問不到文件,須要整合nginx 代理。

 

安裝tracker 與nginx 結合(爲了可以http訪問到文件服務器的文件),因此須要與代理相結合。

安裝nginx:

        確保依賴安裝
        yum install –y openssl-devel pcre-devel zlib-devel
        yum install gd-devel

1.把如下文件拷貝到/usr/local/,解壓相關文件

    tar  -zxvf fastdfs-nginx-module_v1.16.tar.gz

    tar -zxvf ngx_cache_purge-2.3.tar.gz

    tar -zxvf nginx-1.8.0.tar.gz

2.切換到 nginx-1.8.0,執行如下命令:

./configure  --prefix=/usr/local/nginx  --add-module=/usr/local/fastdfs-nginx-module/src  --add-module=/usr/local/ngx_cache_purge-2.3

make

make install

3.配置mod_fastdfs.conf(與nginx集成的關鍵步驟)

  把/usr/local/fastdfs-nginx-module/src 目錄下的 mod_fastdfs.conf拷貝到 /etc/fdfs/

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

   不然啓動nginx 報錯:

      ERROR - file: shared_func.c, line: 960, open file /etc/fdfs/mod_fastdfs.conf fail, errno: 2, error info: No such file or     directory
      ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail,     ret code: 2

4. 修改/etc/fdfs/mod_fastdfs.conf配置項

     vim /etc/fdfs/mod_fastdfs.conf

      修改項:

        base_path=/data/fdfs
        tracker_server=tracker服務器ip:22122   #修改成tracker server信息
        url_have_group_name= true #改成true
        store_path0=/data/fdfs #改成數據存儲路徑,和storage.conf同樣
        group_name=group1
        group_count = 1

    而且在文件末尾加上如下信息

        [group1]
        group_name=group1
        storage_server_port=23000
        store_path_count=1(修改爲1,默認是2,不然就配store_path1)
        store_path0=/opt/fdfs/tracker

5.拷貝/usr/local/src/FastDFS/conf/ 中的http.conf和mime.type ,到/etc/fdfs/ ;

   不然啓動nginx報錯:

    ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
    ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2

        cp /usr/local/src/FastDFS/conf/http.conf /etc/fdfs/
        cp /usr/local/src/FastDFS/conf/mime.types /etc/fdfs/


  6.配置代理信息 nginx.conf  添加以下內容

   建立目錄:  mkdir -p  /media/disk1/nginx/proxy_temp
                      mkdir -p  /media/disk1/nginx/proxy_cache

   在 http{ }中加入以下信息:

     include mime.types;
     default_type  application/octet-stream;
     server_names_hash_bucket_size 128;
     client_header_buffer_size 32k;
     large_client_header_buffers 4 32k;
     client_max_body_size 8m;
     sendfile on;
     tcp_nopush on;
     keepalive_timeout 60;

     tcp_nodelay on;

     client_body_buffer_size 512k;
     proxy_connect_timeout 5;
     proxy_read_timeout 60;
     proxy_send_timeout 5;
     proxy_buffer_size 16k;
     proxy_buffers 4 64k;
     proxy_busy_buffers_size 128k;
     proxy_temp_file_write_size 128k;
     proxy_temp_path /media/disk1/nginx/proxy_temp;
     proxy_cache_path /media/disk1/nginx/proxy_cache levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;
     proxy_cache_bypass $http_secret_header;
     gzip on;
     gzip_min_length 1k;
     gzip_buffers 4 16k;
     gzip_http_version 1.0;
     gzip_comp_level 2;
     gzip_types text/plain application/x-javascript text/css application/xml;
     gzip_vary on;

      upstream fdfs_g1 {
        server 10.20.20.14:80 weight=1 max_fails=2 fail_timeout=30s; #(storage 代理服務器的地址)
     }

      location /group1/M00 {
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        proxy_cache content;
        proxy_cache_valid 200 304 12h;
        proxy_cache_key $request_uri$is_args$args;
        proxy_pass http://fdfs_g1;
        expires 30d;
     }

      location ~ /purge(/.*) {
        allow all;
        proxy_cache_purge content $1$is_args$args;
     }

8.啓動tracker nginx 看集成是否成功。

  切換到 /usr/local/nginx/sbin 目錄執行

    ./nginx 

   查看nginx 的日誌文件 /usr/local/nginx/logs,日誌無錯誤說明整合成功。

安裝storage與nginx 結合(爲了可以http訪問到文件服務器的文件),因此須要與代理相結合。

前面的跟着tracker安裝基本同樣,惟一的區別就是nginx.conf 的配置

安裝nginx:

        確保依賴安裝
        yum install –y openssl-devel pcre-devel zlib-devel
        yum install gd-devel

1.把如下文件拷貝到/usr/local/,解壓相關文件

    tar  -zxvf fastdfs-nginx-module_v1.16.tar.gz

    tar -zxvf ngx_cache_purge-2.3.tar.gz

    tar -zxvf nginx-1.8.0.tar.gz

2.切換到 nginx-1.8.0,執行如下命令:

./configure  --prefix=/usr/local/nginx  --add-module=/usr/local/fastdfs-nginx-module/src  --add-module=/usr/local/ngx_cache_purge-2.3

make

make install

3.配置mod_fastdfs.conf(與nginx集成的關鍵步驟)

  把/usr/local/fastdfs-nginx-module/src 目錄下的 mod_fastdfs.conf拷貝到 /etc/fdfs/

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

4. 修改/etc/fdfs/mod_fastdfs.conf配置項

     vim /etc/fdfs/mod_fastdfs.conf

      修改項:

        base_path=/data/fdfs
        tracker_server=tracker服務器ip:22122   #修改成tracker server信息
        url_have_group_name= true #改成true
        store_path0=/data/fdfs #改成數據存儲路徑,和storage.conf同樣
        group_name=group1
        group_count = 1

    而且在文件末尾加上如下信息:

        [group1]
        group_name=group1
        storage_server_port=23000
        store_path_count=1  (修改爲1,默認是2,不然就配store_path1)
        store_path0=/data/fdfs(storage 的存儲目錄)

5.連接storage存儲目錄文件

    ln -s /data/fdfs/data /data/fdfs/data/M00

6.拷貝/usr/local/src/FastDFS/conf/ 中的http.conf和mime.type ,到/etc/fdfs/ 不然啓動nginx報錯:    

        cp /usr/local/src/FastDFS/conf/http.conf /etc/fdfs/
        cp /usr/local/src/FastDFS/conf/mime.types /etc/fdfs/

若是報 ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
           ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2

則到/etc/fdfs/http.conf文件中 註釋include http.conf 便可

7.配置代理信息 nginx.conf  添加以下內容便可,如需更多配置請自行研究:

      location ~/group1/M00 {
         root /opt/fdfs/data;(stroage的存儲目錄)
         ngx_fastdfs_module;
        }

8.啓動storage nginx 看集成是否成功。

  切換到 /usr/local/nginx/sbin 目錄執行

    ./nginx 

   查看nginx 的日誌文件 /usr/local/nginx/logs

 

 storage 與nginx 整合成功。

10.安裝完成,查看剛纔的上傳的文件是否能夠訪問,則驗證完成:

訪問tracker的代理(博主採用的是默認80端口),其實最終訪問的是storage的代理。

訪問storage的代理:

 

則安裝成功!

相關文章
相關標籤/搜索