記錄:CentOS 7 安裝配置分佈式文件系統 FastDFS 5.1.1

CentOS 7 安裝配置分佈式文件系統 FastDFS 5.1.1php

軟件下載:http://download.csdn.net/download/qingchunwuxian1993/9897458html

 

yum-y install net-tools.x86_64java

前言 

項目中用到文件服務器,有朋友推薦用FastDFS,因此就瞭解學習了一番,感受確實頗爲強大,在此再次感謝淘寶資深架構師餘慶大神開源瞭如此優秀的輕量級分佈式文件系統,本篇文章就記錄一下FastDFS的最新版本5.1.1在CentOS7中的安裝與配置。linux

簡介

首先簡單瞭解一下基礎概念,FastDFS是一個開源的輕量級分佈式文件系統,由跟蹤服務器(tracker server)、存儲服務器(storage server)和客戶端(client)三個部分組成,主要解決了海量數據存儲問題,特別適合以中小文件(建議範圍:4KB < file_size <500MB)爲載體的在線服務。FastDFS的系統結構圖以下:nginx

如上圖,FastDFS的兩個核心概念分別是:git

  1. Tracker(跟蹤器)
  2. Storage(存儲節點)

Tracker主要作調度工做,至關於mvc中的controller的角色,在訪問上起負載均衡的做用。跟蹤器和存儲節點均可以由一臺或多臺服務器構成,跟蹤器和存儲節點中的服務器都可以隨時增長或下線而不會影響線上服務,其中跟蹤器中的全部服務器都是對等的,能夠根據服務器的壓力狀況隨時增長或減小。Tracker負責管理全部的Storage和group,每一個storage在啓動後會鏈接Tracker,告知本身所屬的group等信息,並保持週期性的心跳,tracker根據storage的心跳信息,創建group==>[storage server list]的映射表,Tracker須要管理的元信息不多,會所有存儲在內存中;另外tracker上的元信息都是由storage彙報的信息生成的,自己不須要持久化任何數據,這樣使得tracker很是容易擴展,直接增長tracker機器便可擴展爲tracker cluster來服務,cluster裏每一個tracker之間是徹底對等的,全部的tracker都接受stroage的心跳信息,生成元數據信息來提供讀寫服務。github

Storage採用了分卷[Volume](或分組[group])的組織方式,存儲系統由一個或多個組組成,組與組之間的文件是相互獨立的,全部組的文件容量累加就是整個存儲系統中的文件容量。一個卷[Volume](組[group])能夠由一臺或多臺存儲服務器組成,一個組中的存儲服務器中的文件都是相同的,組中的多臺存儲服務器起到了冗餘備份和負載均衡的做用,數據互爲備份,存儲空間以group內容量最小的storage爲準,因此建議group內的多個storage儘可能配置相同,以避免形成存儲空間的浪費。更多原理性的內容能夠參考這篇文章,介紹的很詳細:分佈式文件系統FastDFS設計原理 
接下來就具體看一下FastDFS的整個下載安裝過程~sql

下載

目前做者最後一次releases的時間的2017年6月4號,對應的最新版本是5.1.1,直接在餘大的GitHub上下載就能夠了: 
https://github.com/happyfish100/fastdfs/releases瀏覽器

 

如上圖,因爲FastDFS是純C語言實現,只支持Linux、FreeBSD等UNIX系統,因此咱們直接下載tar.gz的壓縮包,同時FastDFS 5.1.1同之前版本相比將公共的一些函數等單獨封裝成了libfastcommon包,因此在安裝FastDFS以前咱們還必須安裝libfastcommon,在餘大的GitHub首頁能夠看到: 
ruby

 

下載完成後將下面這兩個文件上傳至CentOS服務器,而後就能夠開始解壓安裝了: 

 

注意:軟件包能夠去GitHub下載或者我上傳附件:

 

安裝

libfastcommon

首先第一步是安裝libfastcommon,我這裏將libfastcommon上傳到的/usr/local/src目錄下,

 

若是沒有裝解壓工具unzip能夠經過如下yum命令進行安裝後再解壓:

yum -y install unzip zip

直接解壓:

unzip libfastcommon-master.zip

解壓成功後進入目錄看一下壓縮包的文件: 

  cd libfastcommon-master

 

這裏寫圖片描述

 

解壓完成後就能夠進行編譯安裝了,分別執行./make.sh./make.sh install,因爲是新安裝的系統有可能會提示找不到gcc命令: 
這裏寫圖片描述

如上圖,因此咱們先要安裝gcc編譯器:

yum -y install gcc-c++

看到以下信息說明gcc已經安裝成功: 

 

此時再次執行./make.sh命令進行編譯,沒有error信息的話就說明編譯成功了,

最後再執行./make.sh install進行安裝,看到相似以下提示信息就說明libfastcommon已安裝成功

 

至此libfastcommon就已經安裝成功了,但注意一下上圖中紅色框標註的內容,libfastcommon.so 默認安裝到了/usr/lib64/libfastcommon.so,可是FastDFS主程序設置的lib目錄是/usr/local/lib,因此此處須要從新設置軟連接(相似於Windows的快捷方式):

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so --(ln: 沒法建立符號連接"/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

設置完畢後就能夠開始安裝fastdfs了。

 

FastDFS

第一步依然是解壓:

unzip fastdfs-master.zip



yum -y install perl

cd fastdfs-master


解壓完成後進入目錄fastdfs-master,依次執行./make.sh和./make.sh install:

./make.sh

注意:如何有錯誤如圖下:

    

   友情提醒:要先安裝

yum -y install perl 而後在./make.sh    ./make.sh install   不然有以下錯誤:
解決方案:估計是由於你後來修改了編譯參數,在這種狀況下,要先執行./make.sh clean,而後再從新編譯便可。
我也遇到了,我說說個人狀況,是先安裝時提示沒有安裝Perl中,而後回頭安裝了Perl中,而後在編譯就出現了這個錯誤

 

    在次執行以下命令:

    ./make.sh

./make.sh install


沒有報錯就說明安裝成功了,在log中咱們能夠發現安裝路徑: 
這裏寫圖片描述

沒錯,正是安裝到了/etc/fdfs中,咱們看一下該目錄下的文件: 

cd /etc/fdfs

 

如上圖,安裝成功後就會生成如上的3個.sample文件(示例配置文件),咱們再分別拷貝出3個後面用的正式的配置文件:

cp client.conf.sample client.conf cp storage.conf.sample storage.conf cp tracker.conf.sample tracker.conf

以後再查看一下/etc/fdfs的文件目錄: 

 

至此FastDFS已經安裝完畢,接下來的工做就是依次配置Tracker和Storage了。

 

Tracker

在配置Tracker以前,首先須要建立Tracker服務器的文件路徑,即用於存儲Tracker的數據文件和日誌文件等,我這裏選擇在/opt目錄下建立一個fastdfs_tracker目錄用於存放Tracker服務器的相關文件:

mkdir /opt/fastdfs_tracker

vi /etc/fdfs

接下來就要從新編輯上一步準備好的/etc/fdfs目錄下的tracker.conf配置文件,打開文件後依次作如下修改:

  1. disabled=false #啓用配置文件(默認啓用)
  2. port=22122 #設置tracker的端口號,一般採用22122這個默認端口
  3. base_path=/opt/fastdfs_tracker #設置tracker的數據文件和日誌目錄
  4. http.server_port=6666 #設置http端口號,默認爲8080

配置完成後就能夠啓動Tracker服務器了,但首先依然要爲啓動腳本建立軟引用,由於fdfs_trackerd等命令在/usr/local/bin中並無,而是在/usr/bin路徑下:

ln -s /usr/bin/fdfs_trackerd /usr/local/bin ln -s /usr/bin/stop.sh /usr/local/bin ln -s /usr/bin/restart.sh /usr/local/bin

最後經過命令啓動Tracker服務器:

service fdfs_trackerd start

命令執行後能夠看到如下提示: 


 

若是啓動命令執行成功,那麼同時在剛纔建立的tracker文件目錄/opt/fastdfs_tracker中就能夠看到啓動後新生成的data和logs目錄,

 

tracker服務的端口也應當被正常監聽,最後再經過netstat命令查看一下端口監聽狀況:

netstat -unltp|grep fdfs

能夠看到tracker服務運行的22122端口正常被監聽: 

 

確認tracker正常啓動後能夠將tracker設置爲開機啓動,打開/etc/rc.d/rc.local並在其中加入如下配置:

   vi /etc/rc.d/rc.local

 

service fdfs_trackerd start

Tracker至此就配置好了,接下來就能夠配置FastDFS的另外一核心——Storage。

查看端口:ss -ntl

 

Storage

同理,步驟基本與配置Tracker一致,首先是建立Storage服務器的文件目錄,須要注意的是同Tracker相比我多建了一個目錄,由於Storage還須要一個文件存儲路徑,用於存放接收的文件:

mkdir /opt/fastdfs_storage mkdir /opt/fastdfs_storage_data

接下來修改/etc/fdfs目錄下的storage.conf配置文件,打開文件後依次作如下修改:

cd  etc/fdfs

  1. disabled=false #啓用配置文件(默認啓用)
  2. group_name=group1 #組名,根據實際狀況修改
  3. port=23000 #設置storage的端口號,默認是23000,同一個組的storage端口號必須一致
  4. base_path=/opt/fastdfs_storage #設置storage數據文件和日誌目錄
  5. store_path_count=1 #存儲路徑個數,須要和store_path個數匹配
  6. store_path0=/opt/fastdfs_storage_data #實際文件存儲路徑
  7. tracker_server=192.168.111.11:22122 #tracker 服務器的 IP地址和端口號,若是是單機搭建,IP不要寫127.0.0.1,不然啓動不成功(此處的ip是個人CentOS虛擬機ip)
  8. http.server_port=8888 #設置 http 端口號

配置完成後一樣要爲Storage服務器的啓動腳本設置軟引用:

ln -s /usr/bin/fdfs_storaged /usr/local/bin

接下來就能夠啓動Storage服務了:

service fdfs_storaged start

命令執行後能夠看到如下提示: 

同理,若是啓動成功,/opt/fastdfs_storage中就能夠看到啓動後新生成的data和logs目錄,端口23000也應被正常監聽,還有一點就是文件存儲路徑下會生成多級存儲目錄,那麼接下來看看是否啓動成功了: 
這裏寫圖片描述

---------------------------分隔符中間 是因爲/etc/fastdfs_storage_data目錄,而實際上咱們建立的位置是/opt/fastdfs_storage_data致使下面錯誤,若是上面目錄正確下面能夠不看-----------------------

 

如上圖,貌似沒成功啊,由於啓動storage後文件都沒生成,爲了確認咱們看一下storage的端口狀況: 
這裏寫圖片描述

果真是沒啓動成功!端口目前仍是隻監聽了一個,storage的23000端口並未被監聽,那麼咱們只能去日誌文件中找緣由了,進入/opt/fastdfs_storage/logs目錄下並打開storaged.log文件: 
這裏寫圖片描述

如上圖,能夠看到確實有一個error,關鍵信息是:

ERROR - file: storage_func.c, line: 896, mkdir 「/etc/fastdfs_storage_data/data」 fail, errno: 2, error info: No such file or directory

沒有文件或目錄!再回頭看一下/etc/fdfs目錄下的storage.conf的配置: 
這裏寫圖片描述

果不其然配錯了,咱們指定成了/etc/fastdfs_storage_data目錄,而實際上咱們建立的位置是/opt/fastdfs_storage_data,粗枝大葉,老眼昏花!修改路徑後再次重啓storage服務,而後再看看data目錄和實際存儲文件的/opt/fastdfs_storage_data: 
這裏寫圖片描述

如上圖,能夠看到/opt/fastdfs_storage/data目錄下生成好的pid文件和dat文件,那麼再看一下實際文件存儲路徑下是否有建立好的多級目錄呢: 
這裏寫圖片描述

如上圖,沒有任何問題,data下有256個1級目錄,每級目錄下又有256個2級子目錄總共65536個文件,新寫的文件會以hash的方式被路由到其中某個子目錄下,而後將文件數據直接做爲一個本地文件存儲到該目錄中。那麼最後咱們再看一下storage服務的端口監聽狀況: 
這裏寫圖片描述

 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

查看端口:ss -ntl  

有22122端口  和23000端口說明成功了

 

 

如上圖,能夠看到此時已經正常監聽tracker的22122端口和storage的23000端口,至此storage服務器就已經配置完成,肯定了storage服務器啓動成功後,還有一項工做就是看看storage服務器是否已經登記到 tracker服務器(也能夠理解爲tracker與storage是否整合成功),運行如下命令:

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

[root@localhost /]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf 
[2016-09-23 12:59:26] DEBUG - base_path=/opt/fastdfs_storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 192.168.111.11:22122

group count: 1

Group 1: 
group name = group1 
disk total space = 6818 MB 
disk free space = 2169 MB 
trunk free space = 0 MB 
storage server count = 1 
active server count = 1 
storage server port = 23000 
storage HTTP port = 8888 
store path count = 1 
subdir count per path = 256 
current write server index = 0 
current trunk file id = 0

Storage 1: 
id = 192.168.111.11 
ip_addr = 192.168.111.11 ACTIVE 
http domain = 
version = 5.05 
join time = 2016-09-23 11:15:54 
up time = 2016-09-23 12:33:26 
total storage = 6818 MB 
free storage = 2169 MB 
upload priority = 10 
store_path_count = 1 
subdir_count_per_path = 256 
storage_port = 23000 
storage_http_port = 8888 
current_write_path = 0 
source storage id = 
if_trunk_server = 0 
connection.alloc_count = 256 
connection.current_count = 0 
connection.max_count = 0 
total_upload_count = 0 
success_upload_count = 0 
total_append_count = 0 
success_append_count = 0 
total_modify_count = 0 
success_modify_count = 0 
total_truncate_count = 0 
success_truncate_count = 0 
total_set_meta_count = 0 
success_set_meta_count = 0 
total_delete_count = 0 
success_delete_count = 0 
total_download_count = 0 
success_download_count = 0 
total_get_meta_count = 0 
success_get_meta_count = 0 
total_create_link_count = 0 
success_create_link_count = 0 
total_delete_link_count = 0 
success_delete_link_count = 0 
total_upload_bytes = 0 
success_upload_bytes = 0 
total_append_bytes = 0 
success_append_bytes = 0 
total_modify_bytes = 0 
success_modify_bytes = 0 
stotal_download_bytes = 0 
success_download_bytes = 0 
total_sync_in_bytes = 0 
success_sync_in_bytes = 0 
total_sync_out_bytes = 0 
success_sync_out_bytes = 0 
total_file_open_count = 0 
success_file_open_count = 0 
total_file_read_count = 0 
success_file_read_count = 0 
total_file_write_count = 0 
success_file_write_count = 0 
last_heart_beat_time = 2016-09-23 12:58:59 
last_source_update = 1970-01-01 08:00:00 
last_sync_update = 1970-01-01 08:00:00 
last_synced_timestamp = 1970-01-01 08:00:00

如上所示,看到192.168.111.11 ACTIVE 字樣便可說明storage服務器已經成功登記到了tracker服務器,同理別忘了添加開機啓動,打開/etc/rc.d/rc.local並將以下配置追加到文件中:

service fdfs_storaged  start 《網上其餘文檔這裏少寫一個d 我這裏備註一下》

至此咱們就已經完成了fastdfs的所有配置,此時也就能夠用客戶端工具進行文件上傳下載的測試了。

初步測試

測試時須要設置客戶端的配置文件, 

cd etc/fdfs

vi client.conf

編輯/etc/fdfs目錄下的client.conf 文件,打開文件後依次作如下修改:

  1. base_path=/opt/fastdfs_tracker  #tracker服務器文件路徑
  2. tracker_server=192.168.111.11:22122  #tracker服務器IP地址和端口號
  3. http.tracker_server_port=6666  # tracker 服務器的 http 端口號,必須和tracker的設置對應起來  默認端口80

配置完成後就能夠模擬文件上傳了,先給/opt目錄下放一張圖片(暴雪爸爸的LOGO): 
這裏寫圖片描述

而後經過執行客戶端上傳命令嘗試上傳:

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf /opt/BLIZZARD.jpg

運行後能夠發現給咱們返回了一個路徑: 
這裏寫圖片描述

這就表示咱們的文件已經上傳成功了,當文件存儲到某個子目錄後,即認爲該文件存儲成功,接下來會爲該文件生成一個文件名,文件名由group、存儲目錄、兩級子目錄、fileid、文件後綴名(由客戶端指定,主要用於區分文件類型)拼接而成,以下圖: 
這裏寫圖片描述

同時在以前配置的storage服務器的實際文件存儲路徑中也能夠根據返回的路徑找到實際文件: 
這裏寫圖片描述

 

接下來嘗試用瀏覽器發送HTTP請求訪問一下文件: 
這裏寫圖片描述

 

此時發現並不能訪問,由於FastDFS目前已不支持http協議,咱們在FastDFS 4.0.5的版本更新日誌中能夠看到這樣一條信息: 
這裏寫圖片描述

 

如上圖,4.0.5版本開始移除了自帶的HTTP支持(由於以前自帶的HTTP服務較爲簡單,沒法提供負載均衡等高性能服務),因此餘大提供了nginx上使用FastDFS的模塊fastdfs-nginx-module,下載地址以下:https://github.com/happyfish100/fastdfs-nginx-module,這樣作最大的好處就是提供了HTTP服務而且解決了group中storage服務器的同步延遲問題,接下來就具體記錄一下fastdfs-nginx-module的安裝配置過程。

 

fastdfs-nginx-module

在餘大的GitHub上下載好fastdfs-nginx-module上傳到咱們的CentOS中就能夠開始安裝了,在安裝nginx以前須要先安裝一些模塊依賴的lib庫,我在之前寫的文章有作詳細介紹(Linux CentOS 7 & Tengine(Nginx)安裝與配置),直接貼出安裝代碼:

yum -y install  pcre-devel pcre  zlib zlib-devel  openssl openssl-devel

依次裝好這些依賴以後就能夠開始安裝nginx了。

storage nginx

首先是爲storage服務器安裝nginx,首先將nginx和fastdfs-nginx-module的安裝包上傳至CentOS: 

 

首先分別進行解壓:

tar -zxvf nginx-1.8.1.tar.gz unzip fastdfs-nginx-module-master.zip

解壓成功後就能夠編譯安裝nginx了,進入nginx目錄並輸入如下命令進行配置: 

  cd nginx-1.8.1

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

配置成功後會看到以下信息: 

這裏寫圖片描述

緊接着就能夠進行編譯安裝了,依次執行如下命令:

make make install

安裝完成後,咱們在咱們指定的目錄/usr/local/nginx中就能夠看到nginx的安裝目錄了: 

接下來要修改一下nginx的配置文件,進入conf目錄並打開nginx.conf文件加入如下配置:

 

 

listen 9999; location ~/group1/M00 { root /opt/fastdfs_storage_data/data; ngx_fastdfs_module; }

而後進入FastDFS的安裝目錄/usr/local/src/fastdfs-master目錄下的conf目錄,將http.confmime.types拷貝到/etc/fdfs目錄下:

cp -r /usr/local/src/fastdfs-master/conf/http.conf /etc/fdfs/ cp -r /usr/local/src/fastdfs-master/conf/mime.types /etc/fdfs/

接下來還須要把fastdfs-nginx-module安裝目錄中src目錄下的mod_fastdfs.conf也拷貝到/etc/fdfs目錄下:

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

看一下/etc/fdfs目錄下當前全部的配置文件: 
這裏寫圖片描述

沒什麼問題,接下來就須要編輯剛拷貝的這個mod_fastdfs.conf文件了,打開mod_fastdfs.conf並按順序依次編譯如下內容:

  1. base_path=/opt/fastdfs_storage #保存日誌目錄
  2. tracker_server=192.168.111.11:22122 #tracker服務器的IP地址以及端口號
  3. storage_server_port=23000 #storage服務器的端口號
  4. url_have_group_name = true #文件 url 中是否有 group 名
  5. store_path0=/opt/fastdfs_storage_data # 存儲路徑
  6. group_count = 3 #設置組的個數,事實上此次只使用了group1

設置了group_count = 3,接下來就須要在文件尾部追加這3個group setting:

[group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/opt/fastdfs_storage_data [group2] group_name=group2 storage_server_port=23000 store_path_count=1 store_path0=/opt/fastdfs_storage_data [group3] group_name=group3 storage_server_port=23000 store_path_count=1 store_path0=/opt/fastdfs_storage_data

接下來還須要創建 M00 至存儲目錄的符號鏈接:

ln -s /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00


linux下面關閉防火牆:
systemctl status firewalld

systemctl stop firewalld

chkconfig firewalld off

getenforce 

setenforce 0

vi /etc/sysconfig/selinux 


ps -ef|grep nginx


kill -9 23171 23172


 kill -9 `pgrep nginx`   關閉nginx
 

 

最後啓動nginx:

/usr/local/nginx/sbin/nginx

顯示以下信息說明nginx已啓動成功: 
這裏寫圖片描述

經過瀏覽器也能夠看到nginx的主頁: 
這裏寫圖片描述

storage服務器的nginx就已經安裝完畢,接下來看一下tracker服務器的nginx安裝。

tracker nginx

同理,再裝一個nginx,目錄命名爲nginx2,安裝路徑依舊放在/usr/local下,因爲和以前同樣,此處就再也不作詳細解釋:

mkdir nginx2
cd nginx-1.8.1/
./configure --prefix=/usr/local/nginx2 --add-module=/usr/local/src/fastdfs-nginx-module-master/src

make make install

 

 

接下來依然是修改nginx2的配置文件,進入conf目錄並打開nginx.conf文件加入如下配置,storage的nginx無需修改listen端口,即默認的80端口,並將upstream指向tracker的nginx地址:

 

提供所有代碼:

 
  


#user nobody;
worker_processes 1;

 
  

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

 
  

#pid logs/nginx.pid;

 
  


events {
worker_connections 1024;
}

 
  

 

 
  


http {
include mime.types;
default_type application/octet-stream;

 
  

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

 
  

#access_log logs/access.log main;

 
  

sendfile on;
#tcp_nopush on;

 
  

#keepalive_timeout 0;
keepalive_timeout 65;

 
  

#gzip on;

 
  

upstream fdfs_group1 {
server 127.0.0.1:9999;
}

 
  


server {
listen 80;
server_name localhost;

 
  

#charset koi8-r;

 
  

#access_log logs/host.access.log main;

 
  

location /group1/M00 {
proxy_pass http://fdfs_group1;
}

 
  


#error_page 404 /404.html;

 
  

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

 
  

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

 
  

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

 
  

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

 
  


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

 
  

# location / {
# root html;
# index index.html index.htm;
# }
#}

 
  


# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;

 
  

# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

 
  

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

 
  

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

 
  

# location / {
# root html;
# index index.html index.htm;
# }
#}

 
  

}

 
 

 

upstream fdfs_group1 {
     server 127.0.0.1:9999; } location /group1/M00 { proxy_pass http://fdfs_group1; }

接下來啓動nginx2:

/usr/local/nginx2/sbin/nginx

此時訪問nginx2的主頁,因爲沒有修改端口,直接訪問ip地址便可: 
這裏寫圖片描述

 

下面這一步 上面作過了。(能夠跳過)

最後一步就是須要修改/etc/fdfs目錄下的client.conf文件,打開該文件並加入如下配置:

 

base_path=/opt/fastdfs_tracker #日誌存放路徑 tracker_server=192.168.116.145:22122 #tracker 服務器 IP 地址和端口號 http.tracker_server_port=6666 # tracker 服務器的 http 端口號,必須和tracker的設置對應起來

至此關於fastdfs就已經所有配置完畢了,再一次進行測試看看是否能正常上傳文件並經過http訪問文件。

HTTP測試

再給/opt目錄下上傳一張暴雪爸爸的LOGO圖: 
這裏寫圖片描述

經過客戶端命令測試上傳: 
這裏寫圖片描述

如上圖,依舊上傳成功,接下來的關鍵就是經過HTTP測試文件訪問,打開瀏覽器輸入ip地址+文件名看看是否能正常訪問該圖片: 

 

一切正常~ 至此關於FastDFS在CentOS 7下的部署測試就已經所有完成了。

注意:若是重啓linux 系統 reboot  上面不少服務 不能 自動重啓:

因此使用腳本讓他開機自動重啓;

腳本下載連接http://download.csdn.net/download/qingchunwuxian1993/9897490

重啓linux系統 自動執行腳本。如圖下:

 

 

 

總結

本篇文章記錄了開源分佈式文件系統FastDFS在Linux CentOS 7中安裝部署以及測試的全過程,下一篇文章將會繼續介紹經過Java客戶端以及SpringMVC中結合FastDFS實現文件上傳下載,

http://www.cnblogs.com/beyondcj/p/7160250.html

相關文章
相關標籤/搜索