FastDFS安裝fastdfs-nginx-module和nginx

zhenghaishu發表於2017-05-17


  FastDFS透過Tracker伺服器,將檔案放在Storage伺服器儲存,但是同組儲存伺服器之間需要進入檔案複製,有同步延遲的問題。假設Tracker伺服器將檔案上傳到了192.168.4.125,上傳成功後檔案ID已經返回給客戶端。此時FastDFS儲存叢集機制會將這個檔案同步到同組儲存192.168.4.126,在檔案還沒有複製完成的情況下,客戶端如果用這個檔案ID192.168.4.126上取檔案,就會出現檔案無法訪問的錯誤。而fastdfs-nginx-module可以重定向檔案連線到源伺服器取檔案,避免客戶端由於複製延遲導致的檔案無法訪問錯誤。


1、下載fastdfs-nginx-module並解壓縮

# cd /usr/local

# wget

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


2、編輯config檔案

# cd fastdfs-nginx-module/src/

# vi config

編輯config檔案,執行如下命令進行批次替換並儲存退出

:%s+/usr/local/+/usr/+g

(按Enter鍵進行替換)

 


3
、複製fastdfs-nginx-module模組中配置檔案到/etc/fdfs目錄中並編輯

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

# vi /etc/fdfs/mod_fastdfs.conf

修改內容如下:

connect_timeout=10(預設2

base_path=/tmp(預設為/tmp

tracker_server=192.168.121.110:22122(預設為tracker:22122

storage_server_port=23000(預設配置為23000

group_name=group1(預設配置為group1

url_have_group_name = true(預設為false

store_path0=/data/fastdfs(預設為/home/yuqing/fastdfs)


4、安裝nginx依賴庫

# yum install -y pcre-devel zlib-devel


5、安裝nginx

# mv /root/桌面/nginx-1.8.1.tar.gz /usr/local/

# cd /usr/local

# tar -zxvf nginx-1.8.1.tar.gz

# cd nginx-1.8.1

# ./configure --prefix=/application/nginx/ --add-module=../fastdfs-nginx-module/src/

# make && make install


6、複製FastDFS中的部分配置檔案到/etc/fdfs目錄中

# cp /usr/local/FastDFS/conf/http.conf /etc/fdfs/

# cp /usr/local/FastDFS/conf/mime.types /etc/fdfs/


7、配置nginx

# vi /application/nginx/conf/nginx.conf

    user  root;   

    worker_processes  1;

    events {

       worker_connections  1024;

    }

    http {

        include       mime.types;

        default_type  application/octet-stream;

        sendfile        on;

        keepalive_timeout  65;

        server {

            listen       8888;

            server_name  localhost;

            location ~/group[0-9]/ {

                ngx_fastdfs_module;

            }

            error_page   500 502 503 504  /50x.html;

            location = /50x.html {

            root   html;

            }

        }

    }


說明:

1"user root"是解決下載操作時報404的問題

28888埠號與/etc/fdfs/storage.conf中的http.server_port=8888相對應

3storage對應有多個group的情況下,訪問路徑帶group名稱,例如:/group1/M00/00/00/**,對應nginx配置:

    location ~/group[0-9]/ {

           ngx_fastdfs_module;

     }


8、複製nginx服務到/etc/init.d/目錄下並啟動

# cp /application/nginx/sbin/nginx /etc/init.d/

# /etc/init.d/nginx

# ss -lntup | grep 8888

tcp    LISTEN     0      128                    *:8888                  *:*      users:(("nginx",7308,6),("nginx",7309,6))


9、透過瀏覽器訪問之前已經上傳的檔案

在瀏覽器中輸入

http://192.168.121.110:8888/group1/M00/00/00/wKh5blkcHpiAAEBkAAC7L7_PW5E715.jpg


10、參考資料

http://blog.csdn.net/u010098331/article/details/51646921

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-2139243/,如需轉載,請註明出處,否則將追究法律責任。

相關文章