01-Centos7搭建FastDFS(單機版)

參考鏈接:
單機版
https://blog.csdn.net/LSY_CSDN_/article/details/105788221
https://www.cnblogs.com/youzhibing/p/9160690.html
https://blog.csdn.net/fhzh520/article/details/56494611

集羣版
https://blog.csdn.net/prcyang/article/details/89946190

一、準備系統及前提約束

1、系統:

版本:centos7 64位
IP:192.168.0.126

2、軟件:

沒有也沒關係,後面有鏈接和下載教程。
libfastcommon-1.0.43.zip
fastdfs-6.06.zip
fastdfs-nginx-module-1.22.zip
nginx-1.16.0.tar.gz

二、基礎環境配置

1、關閉防火牆

 systemctl stop firewalld  # 關閉防火牆
 systemctl disable firewalld  # 開機禁止防火牆重啓
 systemctl status firewalld # 檢查防火牆狀態

在這裏插入圖片描述
在這裏插入圖片描述

2、配置hosts

修改hosts,將文件服務器的ip與域名映射

 vim /etc/hosts

末尾添加:IP+域名

192.168.0.126 fastdfs.wzw.com

在這裏插入圖片描述

3、安裝gcc環境

安裝gcc環境,後面項目編譯有需要用到gcc環境。

3.1檢查gcc環境

 gcc -v

如果顯示gcc版本,說明本機已經安裝了gcc。如果沒有的話,需要安裝。
在這裏插入圖片描述

3.2安裝gcc庫

 yum install -y gcc gcc-c++

4、安裝libevent庫

FastDFS依賴libevent庫,在服務器上通過yum命令進行安裝:

 yum -y install libevent

在這裏插入圖片描述

三、開始搭建Fast DFS

1、安裝libfastcommon

libfastcommon是從FastDFS和FastDHT中提取出來的公共C函數庫,基礎環境,安裝即可。

1.1 軟件下載

軟件下載鏈接:
https://github.com/happyfish100/libfastcommon/releases

注意:最好選擇releases中最新版本。本地下載1.0.43。

1.2 上傳、解壓軟件

將下載的libfastcommon軟件壓縮包上傳到服務器指定文件夾中,然後進行解壓。
在這裏插入圖片描述

1.3 編譯軟件

進入到libfastcommon解壓後的文件夾中,然後執行編譯命令:

 ./make.sh

在這裏插入圖片描述

1.4 安裝軟件

進入到libfastcommon解壓後的文件夾中,然後執行安裝命令:

 ./make.sh install

在這裏插入圖片描述

2、安裝fastDFS

2.1 軟件下載

軟件下載鏈接:
https://github.com/happyfish100/fastdfs/releases
注意:最好選擇releases中最新版本。本地下載6.0.6。

2.2上傳、解壓軟件

將下載的fastdfs軟件壓縮包上傳到服務器指定文件夾中,然後進行解壓。
在這裏插入圖片描述

2.3編譯軟件

進入到fastdfs解壓後的文件夾中,然後執行編譯命令:

 ./make.sh

在這裏插入圖片描述

2.4安裝軟件

進入到fastdfs解壓後的文件夾中,然後執行安裝命令:

 ./make.sh install

在這裏插入圖片描述

2.5安裝後文件與目錄

A、服務腳本:
服務腳本路徑:

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker

B、配置文件:
配置文件路徑:

/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample

C、命令工具:
命令工具在 /usr/bin/文件夾中:

fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
stop.sh
restart.sh

3、配置fastDFS跟蹤器(tracker)

當該服務器上fastDFS有tracker服務角色的時候才需要配置,如果只是單純的storage服務角色那麼就不需要配置tracker的配置文件了。

3.1 獲取樣例配置文件

進入/etc/fdfs,複製FastDFS跟蹤器樣例配置文件 tracker.conf.sample,並重命名爲tracker.conf。命令如下:

 cp tracker.conf.sample tracker.conf

在這裏插入圖片描述
在這裏插入圖片描述

3.2 修改配置參數

使用vi命令編輯tracker.conf,主要修改以下參數:
修改配置參數:

    #提供服務的端口
    port=22122
    #Tracker數據和日誌目錄地址
    base_path=/data/soft/fastdfs/tracker 
    #HTTP服務端口 
    http.server_port=8080

3.3 創建數據目錄

創建tracker.conf中配置tracker數據和日誌目錄路徑:

 mkdir -p /data/soft/fastdfs/tracker

在這裏插入圖片描述

3.4 啓動tracker後文件結構

Tracker服務啓動成功後,會在base_path下創建data、logs兩個目錄。文件data爲數據,文件logs爲日誌。

4、配置fastDFS存儲(storage)

當該服務器上fastDFS有storage服務角色的時候才需要配置,如果只是單純的tracker服務角色那麼就不需要配置storage的配置文件了。

4.1獲取樣例配置文件

進入/etc/fdfs 目錄,複製FastDFS存儲器樣例配置文件 storage.conf.sample,並重命名爲storage.conf。命令如下:

 cp storage.conf.sample storage.conf

4.2修改配置參數

使用vi命令編輯storage.conf,主要修改以下參數:

-------------------修改內容-------------------
#指定此storage server所在 組(卷) 
group_name=group1 

# storage server服務端口 
port=23000 

# Storage數據和日誌目錄地址 
base_path=/data/soft/fastdfs/storage

#存放文件時storage server支持多個路徑。配置存放文件的基路徑數目,通常只配一個目錄。
store_path_count=1

#逐一配置store_path_count個路徑,索引號基於 0。如果不配置 store_path0,那它就和base_path對應的路徑一樣 
store_path0=/data/soft/fastdfs/store_file

# FastDFS存儲文件時,採用了兩級目錄。這裏配置存放文件的目錄個數。如果本參數只爲 N(如:256),那麼storage server在初次運行時,會在store_path下自動創建 N * N 個存放文件的子目錄。
subdir_count_per_path=256

# tracker_server的列表,會主動連接 tracker_server,有多個tracker server時,每個tracker server寫一行,建議寫hosts中配的域名
tracker_server=file.lsy.com:22122 

#訪問端口
http.server_port=8888
-------------------修改內容-------------------

4.3創建數據目錄

創建storage.conf中配置storage數據和日誌目錄路徑:

 mkdir -p /data/soft/fastdfs/storage

創建storage.conf中配置store_path0目錄路徑:

 mkdir -p /data/soft/fastdfs/store_file

在這裏插入圖片描述

4.4啓動storage後文件結構

同 tracker、storage 啓動成功後,在storage的base_path下創建了data、logs目錄,記錄着storage 服務的信息。在storage的store_path0目錄下,創建了N*N個子目錄。

5、配置client文件

5.1獲取樣例配置文件

進入/etc/fdfs,複製FastDFS跟蹤器樣例配置文件 client.conf.sample,並重命名爲client.conf。命令如下:

 cp client.conf.sample client.conf

5.2修改配置參數:

使用vi命令編輯client.conf,主要修改以下參數:

-------------------修改內容-------------------
    # Client的數據和日誌目錄
    base_path=/data/soft/fastdfs/client
    # Tracker端口 
tracker_server=file.lsy.com:22122
-------------------修改內容-------------------

5.3創建數據目錄

創建client.conf中配置Client數據和日誌目錄路徑:

 mkdir -p /data/soft/fastdfs/tracker

6、上傳測試

6.1 啓動跟蹤器(tracker)

可以用這種方式啓動:

 /etc/init.d/fdfs_trackerd start

在這裏插入圖片描述
也可以用這種方式啓動:(推薦使用)

 service fdfs_trackerd start

6.2 啓動存儲(storage):

可以用這種方式啓動

 /etc/init.d/fdfs_storaged start

在這裏插入圖片描述
也可以用這種方式:(推薦使用)

 service fdfs_storaged start

6.3 上傳demo文件:

從本地windows上尋找一個測試上傳的圖片,然後將圖片上傳到服務器中client.conf配置文件中配置的client數據存儲目錄參數base_path的路徑下。

6.4 測試上傳文件到fastdfs

在這裏插入圖片描述

[root@cdh1 client]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 01.txt
group1/M00/00/00/wKgAfl6qLGyAM8WBAAAAF8rCyNs516.txt
[root@cdh1 client]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 01.jpg
group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg

上傳成功後返回文件ID號:
group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
返回的文件ID由group、存儲目錄、兩級子目錄、fileid、文件後綴名(由客戶端指定,主要用於區分文件類型)拼接而成。
測試上傳文件到fastdfs:成功

7、安裝nginx

安裝Nginx作爲服務器以支持Http方式訪問文件,這樣就可以通過http訪問fastDFS進行下載文件。同時,後面安裝FastDFS的Nginx模塊也需要Nginx環境。
注意:Nginx只需要安裝到StorageServer所在的服務器即可,用於訪問文件。
nginx安裝教程:
https://blog.csdn.net/prcyang/article/details/90032781
在這裏插入圖片描述

7.1測試修改nginx配置文件

想通過nginx的http方式訪問文件,那麼就需要對nginx的配置文件進行簡單的配置,進入到nignx安裝文件夾的/conf中,修改配置文件nginx.conf:

添加如下行,將/group1/M00 映射到/data/soft/fastdfs/store_file/data(也就是storage配置文件中store_path0參數的值再加上data目錄)

-------------------修改內容-------------------
    location /group1/M00 {
        alias /data/soft/fastdfs/store_file/data;   
}
-------------------修改內容-------------------

7.2測試啓動nginx

(1)nginx是服務:
如果nginx已經配置成服務了,那麼就用服務啓動:

 service nginx start

(2)nginx不是服務:
如果nginx沒有配置成服務,那麼就進入到nginx安裝文件中,執行sbin下nginx命令:

 ./nginx

在這裏插入圖片描述

7.3測試http訪問文件

剛剛測試上傳到fastDFS中圖片返回的文件ID號爲:
group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
該文件實際存儲在fastDFS的storage配置的/data/soft/fastdfs/store_file/data/00/00中對應的文件名,並且nginx中配置了group1/M00轉發到/data/soft/fastdfs/store_file/data,因此可以通過http的方式訪問到剛剛上傳的圖片,在windows瀏覽器中輸入:http://192.168.0.126:80/group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
,其中IP和端口號就是nginx訪問地址,加上fastDFS中文件ID號即可,就能訪問到剛剛上傳的圖片了。
在這裏插入圖片描述
訪問上傳的文件:成功

8、在fastDFS中配置nginx模塊

8.1下載fastdfs-nginx-module

軟件下載地址:
https://github.com/happyfish100/fastdfs-nginx-module/releases
注意:最好選擇releases中最新版本。本地下載1.22

8.2上傳、解壓fastdfs-nginx-module

將下載的fastdfs-nginx-module軟件壓縮包上傳到服務器指定文件夾中,然後進行解壓。
在這裏插入圖片描述
在這裏插入圖片描述

8.3增加nginx模塊

上面已經安裝過nginx了,是默認安裝的,沒有添加fastdfs-nginx-module模塊,因此要重新安裝nginx。
A、停掉nginx服務:
如果nginx已經配置成服務了,那麼就關閉服務即可:

 service nginx stop

如果nginx沒有配置成服務,那麼將上面安裝的nginx進程停掉。可以通過
ps -ef | grep nginx找到進程ID,然後killl -9 進程ID殺死進程即可。

B、監測configure配置:
進入到nginx解壓後的文件中,執行configure命令,並通過prefix參數設置nginx安裝路徑,通過add-module參數設置增加模塊:
前提:1.創建nginx安裝目錄;2.已經將fastdfs-nginx-module移動到相關路徑。當然你自己喜歡就好
在這裏插入圖片描述

 ./configure --prefix=/data/soft/nginx/nginx1 --add-module=/data/soft/fastdfs-nginx-module-1.22/src

在這裏插入圖片描述
說明:prefix值爲nginx安裝路徑,add-module值爲fastdfs-nginx-module解壓的路徑加上src文件夾。

C、編譯nginx:
進入到nginx解壓後的文件中,執行make命令:

 make

D、安裝nginx:
進入到nginx解壓後的文件中,執行make install命令:

 make install

E、查看nginx模塊:
進入到nginx安裝路徑下sbin中,通過命令查看nginx模塊:

 ./nginx -V

有如下模塊配置信息表示fastdfs-nginx-module模塊增加成功:
在這裏插入圖片描述

8.4配置fastdfs-nginx-module參數文件

A、複製配置文件:
進入到fastdfs-nginx-module解壓文件夾內src中,複製mod_fastdfs.conf文件到/etc/fdfs目錄:

 cp mod_fastdfs.conf /etc/fdfs/

B、修改配置文件:
進入到/etc/fdfs文件夾中,修改配置文件mod_fastdfs.conf,主要修改一下參數:

======================修改內容======================
#連接超時時間 
connect_timeout=10 


# Tracker Server  


#tracker_server=file.lsy.com:22122
tracker_server=fastdfs.wzw.com:22122
# StorageServer端口
storage_server_port=23000
#Storage所屬group的組名
group_name=group1
#如果文件ID的uri中包含/group**,則要設置爲true
url_have_group_name = true
# Storage配置的store_path0路徑,與storage.conf中的一致
store_path0=/data/soft/fastdfs/store_file
======================修改內容======================

8.5複製FastDFS的部分配置文件:

進入到fastDFS源碼解壓文件內conf中,複製anti-steal.jpg、http.conf、mime.types三個文件到/etc/fdfs中:

 cp anti-steal.jpg http.conf mime.types /etc/fdfs/

8.6修改nginx配置

進入到nginx安裝文件夾的conf中,修改配置文件nginx.conf,主要修改以下參數:

A、配置端口號:
nginx端口號要與該服務器上所在的storage的配置文件/etc/fdfs/storage.conf中的參數http.server_port的端口號一致。
listen 8888

B、配置location:
在server中增加location配置

==========增加內容==========
location ~/group([0-9])/M00 {
    ngx_fastdfs_module;
}
==========增加內容==========

四、測試搭建成果

測試http訪問文件

1、啓動跟蹤器(tracker)

可以用這種方式啓動:

/etc/init.d/fdfs_trackerd start

也可以用這種方式啓動:(推薦使用)

service fdfs_trackerd start

2、啓動存儲(storage)

可以用這種方式啓動

/etc/init.d/fdfs_storaged start

也可以用這種方式:(推薦使用)

service fdfs_storaged start

3、啓動nginx

A、nginx是服務:
如果nginx已經配置成服務了,那麼就用服務啓動:

# service nginx start

B、nginx不是服務:

如果nginx沒有配置成服務,那麼就進入到nginx安裝文件中,執行sbin下nginx命令:

# ./nginx

啓動nginx後打印如下信息表示配置成功:

4、測試瀏覽器http訪問文件

剛剛測試上傳到fastDFS中圖片返回的文件ID號爲:

group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg

因此可以通過http的方式訪問到剛剛上傳的圖片,在windows瀏覽器中輸入:
http://192.168.0.126:8888/group1/M00/00/00/wKgAfl6qLHqAfkR9AAAm1cL2jv0398.jpg
,其中IP和端口號就是nginx訪問地址,加上fastDFS中文件ID號即可,就能訪問到剛剛上傳的圖片了。
在這裏插入圖片描述

在此,nginx方式訪問Fast DFS文件系統成功。

五、附加操作

1、啓動fastDFS:

1.1啓動跟蹤器(tracker):

可以用這種方式啓動:

 /etc/init.d/fdfs_trackerd start

也可以用這種方式啓動:(推薦使用)

 service fdfs_trackerd start

1.2啓動存儲(storage):

可以用這種方式啓動

 /etc/init.d/fdfs_storaged start

也可以用這種方式:(推薦使用)

 service fdfs_storaged start

1.3檢查storage與tracker是否通信:

啓動tracker和storage後,通過命令檢查storage是否與tracker進行了正確通信:

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

1.4啓動nginx:

A、nginx是服務:
如果nginx已經配置成服務了,那麼就用服務啓動:

 service nginx start

B、nginx不是服務:
如果nginx沒有配置成服務,那麼就進入到nginx安裝文件中,執行sbin下nginx命令:

 cd /data/soft/nginx/nginx1/sbin
 ./nginx

2、停止fastDFS:

2.1關閉nginx:

A、nginx是服務:
如果nginx已經配置成服務了,那麼直接通過服務關閉即可:

 service nginx stop

B、nginx不是服務:
如果nginx沒有配置成服務,那麼可以通過ps -ef | grep nginx找到nginx的進程ID,然後通過kill -9 進程ID殺死該進程即可。

2.2關閉跟蹤器(tracker):

執行命令:

 service fdfs_trackerd stop

2.3關閉存儲(storage):

執行命令:

 service fdfs_storaged stop

3、設置開機自啓:

3.1設置開機自啓跟蹤器(tracker):

A、加入到chkconfig列表:
執行命令:

 chkconfig --add /etc/init.d/fdfs_trackerd

B、設置服務開機自啓:
執行命令:

 chkconfig fdfs_trackerd on

3.2設置開機自啓存儲(storage):

A、加入到chkconfig列表:
執行命令:

 chkconfig --add /etc/init.d/fdfs_storaged

B、設置服務開機自啓:
執行命令:

 chkconfig fdfs_storaged on

3.3設置開機自啓nginx:

設置nginx開機自啓,首先需要將nginx配置成服務,如果nginx沒有配置成服務那麼就不能夠設置開機自啓,nginx配置成服務的步驟見對應的nginx彙總整理。
A、加入到chkconfig列表:
執行命令:

 chkconfig --add /etc/init.d/nginx

B、設置服務開機自啓:
執行命令:

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