linux搭建簡易版本的FastDFS服務器


開發環境:centos7環境

搭建FastDFS集群搭建非常復雜,對於初期學習FastDFS來說,搭建個單機版的作為入門更為實際一些。

首先感謝“在京奮斗者“”博主的詳細搭建過程,附上博客地址http://blog.csdn.net/u012453843/article/details/69951920

本文主要參考上面博客進行搭建,並不做特詳細的搭建過程

 

1.搭建centos7環境

2.配置橋接模式同時可供外網訪問級訪問外網

3.安裝gcc環境

yum install make cmake gcc gcc-c++進行安裝即可

4.上傳安裝文件到/usr/local/software目錄

沒有的話就新建一個目錄mkdir /usr/local/software  

上傳所需要的安裝包:安裝包地址目前在博客園空間的文件Sofeware包

上傳成功如下圖(圖中沒有划掉橫線的部分,共4個)

5.安裝zip和unzip命令(用於解壓zip文件)

yum install zip unzip

6.安裝libfastcommon

a:解壓

unzip libfastcommon-master.zip -d /usr/local/fast/ 

b.進入目錄

cd /usr/local/fast/libfastcommon-master/

c編譯

 ./make.sh

d.安裝

./make.sh install

7.創建軟連接

 FastDFS主程序設置的目錄為/usr/local/lib/,所以我們需要創建/ usr/lib64/下的一些核心執行程序的軟連接文件。如下所示。

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

8.安裝FastDFS

a.進入到cd /usr/local/software下,解壓FastDFS_v5.05.tar.gz文件 

b.編譯安裝

cd /usr/local/fast/FastDFS/ 

./make.sh

./make.sh install  

安裝完后,服務腳本位置如下

配置文件位置如下(划線部分為后續添加)

 FastDFS一系列執行腳本如下,可以看到有上傳文件腳本、下載文件腳本等等。

cd /usr/bin/ && ls | grep fdfs 

c.

c1 : fastDFS服務腳本設置的bin目錄為/usr/local/bin/下,但是實際我們安裝在了/u sr/bin/下面。所以我們需要修改FastDFS配置文件中的路徑,也就是需要修改兩個配置文件

     使用命令vim /etc/init.d/fdfs_storaged進入編輯模式,然后直接輸入":",光標會定位到最后一行,在":"后輸入"%s+/usr/local/bin+/usr/bin",如下圖所示。輸入完之后回車,會提示修改了7處。

 c2: 接着修改第二個配置文件,我們使用命令vim /etc/init.d/fdfs_trackerd進入編輯模式,接着按照上面那樣輸入":%s+/usr/local/bin+/usr/bin "並按回車,同樣會提醒我們修改了7處。

 

9.配置跟蹤服務器

a 進入到/etc/fdfs目錄並且復制一份tracker.conf.sample並命名為tracker.conf,如下所示。

 cp tracker.conf.sample tracker.conf

b 使用命令vim /etc/fdfs/tracker.conf進入編輯模式,然后修改base_path的值為/fastdfs/tracker,

c.我們在上圖配置文件中配置的/fastdfs/tracker目前是不存在的,因此我們需要創建一下該目錄

mkdir -p /fastdfs/tracker (會在根目錄創建文件夾/fastdfs/tracker)

d.配置並重啟防火牆

放開tracker使用的端口22122

firewall-cmd --zone=public --add-port=22122/tcp --permanent

firewall-cmd --reload

e.在啟動tracker之前,/fastdfs/tracker目錄下是沒有任何文件的

f.  啟動tracker,啟動完之后,可以看到這個目錄下多了兩個目錄data和logs

/etc/init.d/fdfs_trackerd start

 

10.設置開機自啟動

在rc.local文件中添加/etc/init.d/fdfs_trackerd start

vim /etc/rc.d/rc.local

11.配置fastdfs存儲

a.進入/etc/fdfs目錄,復制一份storage.conf.sample文件並命名為storage.conf

b.修改storage.conf文件 ,我們使用命令vim /etc/fdfs/storage.conf進入編輯模式,對以下四項進行修改,我的虛擬機的IP192.168.0.204,大家根據自己虛擬機的IP自行設置。

  1. base_path=/fastdfs/storage  
  2. store_path0=/fastdfs/storage  
  3. tracker_server=192.168.156.13:22122  
  4. http.server_port=8888  

c.創建存儲目錄,如下所示。

 mkdir -p /fastdfs/storage

12.配置防火牆,允許外界訪問storage的默認端口23000

firewall-cmd --zone=public --add-port=23000/tcp --permanent

firewall-cmd --reload

13.在啟動storage之前,/fastdbf/storage目錄下是沒有任何文件的

 啟動storage,啟動后再看/fastdfs/storage目錄,可以看到多了data和logs

 

14.查看FastDFS tracker和storage 是否啟動成功,當看到如下所示信息時說明都啟動成功了。

15.我們進入到 /fastdfs/storage/data/目錄下,可以看到兩級共256*256個目錄,每級都是從00到FF,如下只是列出了第一級的目錄,點進去每個目錄都還有00到FF共256個目錄。

16.設置storage開機自啟動,添加一行/etc/init.d/fdfs_storaged start

vim /etc/rc.local

17.測試圖片上傳

a.進入到/etc/fdfs目錄下並復制一份client.conf.sample並更名為client.conf,

cp client.conf.sample client.conf 

b.使用命令vim /etc/fdfs/client.conf進入編輯模式並修改如下兩項內容,如下所示

  1. base_path=/fastdfs/tracker  
  2. tracker_server=192.168.0.204:22122 

c我們找到命令的腳本位置,並且使用命令,進行文件的上傳。

.

d.測試文件上傳 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/3.jpg 

18:FastDFS與nginx相結合

a.先安裝nginx,可參看本博客地址linux下安裝nginx

b.安裝fastdfs-nginxmodule_v1.16.tar.gz(fast與nginx相結合的模塊安裝包), 進入 /usr/local/software目錄並解壓,如下所示

 cd /usr/local/software/

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/

c.進入到/usr/local/fast目錄下可以看到解壓的fastdfs-nginx-module目錄,然后進入到fastdfs-nginx-module/src/目錄下,可以看到config文件。

cd /usr/local/fast/fastdfs-nginx-module/src/ 

 

修改該conf文件,我們把文件的第四行配置中的/usr/local/include都改為/usr/include,共兩處。

d. fastdfs與nginx進行結合,由於我們剛才安裝過nginx了,因此在/usr/local目錄下已經生成了一個nginx目錄了

默認安裝地址/usr/local/nginx(如沒有,可通過whereis nginx查詢或者find / -name nginx

為了將nginx與fastdfs相結合,我們先把這個nginx目錄刪除掉,如下圖所示,可以看到已經沒有nginx目錄了。

rm -rf nginx

 進入到nginx-版本號(1.6.2)/目錄下並執行配置和編譯安裝,如下所示。

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

 make && make install  

 

 復制fastdfs-nginx-module中的配置文件,到/etc/fdfs目錄中

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

到 /etc/fdfs/ 目錄下,修改我們剛copy過來的mod_fastdfs.conf 文件,需要修改的項如下,其中第一項是超時時長,第三項是允許外界通過http方式訪問資源。

  1. connect_timeout=10  
  2. tracker_server=192.168.156.13:22122  
  3. url_have_group_name = true  
  4. store_path0=/fastdfs/storage 

 復制FastDFS里的2個文件,到/etc/fdfs目錄中,如下所示。

[root@fastdfs fdfs]# cd /usr/local/fast/FastDFS/conf/  
[root@fastdfs conf]# ll  
總用量 84  
-rw-r--r--. 1 8980 users 23981 12月  2 2014 anti-steal.jpg  
-rw-r--r--. 1 8980 users  1461 12月  2 2014 client.conf  
-rw-r--r--. 1 8980 users   858 12月  2 2014 http.conf  
-rw-r--r--. 1 8980 users 31172 12月  2 2014 mime.types  
-rw-r--r--. 1 8980 users  7829 12月  2 2014 storage.conf  
-rw-r--r--. 1 8980 users   105 12月  2 2014 storage_ids.conf  
-rw-r--r--. 1 8980 users  7102 12月  2 2014 tracker.conf 

 

[root@fastdfs conf]# cp http.conf mime.types /etc/fdfs/ 

創建一個軟連接,在/fastdfs/storage文件存儲目錄下創建軟連接,將其鏈接到實際存放數據 的目錄,如下所示。

 

 進入到/usr/local/nginx/conf/目錄下,修改nginx.conf文件,如下圖所示。

修改的內容如下圖示

listen       9999;  
  
location ~/group([0-9])/M00 {   
    ngx_fastdfs_module;  

設置nginx開機自啟動,這樣下次重啟設備之后,tracker、storage、nginx都自動啟動了,直接就可以使用服務,如下所示。

vim /etc/rc.d/rc.local   

最下面添加

/usr/local/nginx/sbin/nginx  

開啟nginx防火牆

firewall-cmd --zone=public --add-port=9999/tcp --permanent

firewall-cmd --reload

現在我們便可以通過http的方式訪問我們剛才上傳的圖片了(我們剛才上傳圖片返回的地址是group1/M00/00/00/wKgAzFogEkyADJBgAAAonXozs7o921.jpg),如下圖所示。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM