單節點Nginx+FastDFS安裝配置<1>

FastDFS 是一個開源的高性能分佈式文件系統(DFS)。 它的主要功能包括:文件存儲,文件同步和文件訪問,以及高容量和負載平衡。

FastDFS有兩個角色:跟蹤服務(tracker)和存儲服務(storage),跟蹤服務控制,調度文件以負載均衡的方式訪問;存儲服務包括:文件存儲,文件同步,提供文件訪問接口,同時以key value的方式管理文件的元數據。

FastDFS 系統有三個角色:跟蹤服務器(Tracker Server)、存儲服務器(Storage Server)和
客戶端(Client)。

Tracker Server: 跟蹤服務器,主要做調度工作,起到均衡的作用;負責管理所有的 storage server
和 group,每個 storage 在啓動後會連接 Tracker,告知自己所屬 group 等信息,並保持週期性心跳。

Storage Server:存儲服務器,主要提供容量和備份服務;以 group 爲單位,每個 group 內可以有多臺 storage server,數據互爲備份。

Client:客戶端,上傳下載數據的服務器,也就是我們自己的項目所部署在的服務器。

 

應用場景:對4k至百MB需要存儲  FastDFS最佳  如果上G  上幾十G  建議使用GlusterFS鏡像文件


操作系統: CentOS 6.6

FastDFS: fastdfs-5.05 、 fastdfs-nginx-module-v1.16 、libfastcommon-v1.0.7

Nginx  : nginx-1.10.1

 

安裝:

  1. 安裝libfastcommon

  2. 在每一臺服務器上,解壓libfastcommon,進入libfastcommon-master目錄執行

    ./make.sh
    ./make.sh install   
    [root@dell-09 src]# pwd
    /opt/soft/soft/libfastcommon-master/src
    [root@dell-09 src]# install -m 755     libfastcommon.so /usr/lib64/
    mkdir -p /usr/include/fastcommon/
    可以看到libfastcommon.so安裝到了/usr/lib64/libfastcommon.so   
    但是FastDFS主程序設置的lib目錄是/usr/local/lib
    所以需要創建軟鏈接.
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
    ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
       
    2.安裝FastDFS主程序
    這個版本似乎已經不需要libevent依賴
    在每臺服務器,解壓縮FastDFS_v5.05.tar.gz,進入FastDFS目錄
    執行
    ./make.sh
    ./make.sh install

配置文件:

進入FastDFS解壓目錄

[root@localhost FastDFS]# cd conf/
[root@localhost conf]# ls
anti-steal.jpg  client.conf  http.conf  mime.types storage.conf  storage_ids.conf  tracker.conf
[root@localhost conf]# pwd
/root/fastdfs/FastDFS/conf
[root@localhost conf]# cp -rf * /etc/fdfs/

1、修改vim /etc/fdfs/tracker.conf

 

base_path=/data/app/fastdfs

http.server_port=80

創建所需目錄 mkdir -p /data/app/fastdfs

啓動tracker服務:/usr/local/bin/fdfs_trackerd/etc/fdfs/tracker.conf restart

 

2、修改vim /etc/fdfs/storage.conf

base_path=/data/app/fastdfs/storage
store_path0=/data/app/fastdfs/storage
tracker_server=192.168.198.129:22122

創建目錄:mkdir -p  /data/app/fastdfs/storage

啓動storage服務:/usr/local/bin/fdfs_trackerd/etc/fdfs/storage.conf restart



3、修改vim /etc/fdfs/client.conf

base_path=/data/app/fastdfs/storage
tracker_server=192.168.198.129:22122

創建目錄:mkdir -p  /data/app/fastdfs/storage

 

 

檢驗:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

 

 

加載fastdfs-nginx-module 模塊

1、上傳軟件 master.zip、nginx1.10.1

兩個軟件都解壓,然後編譯加載模塊。

[root@localhost nginx-1.10.1]# pwd
/root/fastdfs/nginx-1.10.1
[root@localhost nginx-1.10.1]# ./configure --prefix=/usr/local/nginx--pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module--http-client-body-temp-path=/var/temp/nginx/client--http-proxy-temp-path=/var/temp/nginx/proxy--http-fastcgi-temp-path=/var/temp/nginx/fastcgi--http-uwsgi-temp-path=/var/temp/nginx/uwsgi--http-scgi-temp-path=/var/temp/nginx/scgi --add-module=/root/fastdfs/fastdfs-nginx-module-master/src

複製文件到/etc

[root@localhost src]# pwd
/root/fastdfs/fastdfs-nginx-module-master/src
[root@localhost src]# cp mod_fastdfs.conf  /etc/fdfs/

 

修改這幾個地方

vim mod_fastdfs.conf

tracker_server=192.168.198.129:22122
url_have_group_name = true
store_path0=/data/app/fastdfs/storage

 

 

nginx修改:

配置 Nginx及編輯nginx.conf文件:
cd /usr/local/nginx/conf
vi nginx.conf

在配置文件中加入:
location /group1/M00 {
    root /data/fastdfs/storage/;
    ngx_fastdfs_module;
}

 

 

我們配置了group1/M00的訪問,所以我們需要建立一個group1文件夾,並建立M00到data的軟鏈接 mkdir /data/fastdfs/storage/data/group1

 ln -s /data/fastdfs/storage/data/data/fastdfs/storage/data/group1/M00

 

檢驗:/usr/local/nginx/sbin/nginx -V 看是否有加載模塊dfs模塊


 

生成測試鏈接:/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

 

 

打開測試網頁:

http://192.168.198.129/group1/M00/00/00/CsEBPVgWV1GAZ9ncAABdrZgsqUU641_big.jpg


 

note:

集羣方案思路:

應用場景: 三臺服務器分別做三組存儲,並且需要兩臺tracker地址做主備關係,當一臺down機後需要另外一臺可以提供正常的訪問連接

#注:此處不考慮存儲數據安全性,如果需要保障數據不丟失,可以分別每臺存儲配置兩組group(相同group之間數據會自動備份) ,三臺服務器group分別爲:

      第一臺服務器:group1  group2

      第二臺服務器:group1 group3

      第三臺服務器:group2 group3

持續更新中……



 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章