圖片服務器搭建過程


一、准備工作
1下載軟件:http://sourceforge.net/projects/fastdfs/files/

 或者百度雲:鏈接:http://pan.baidu.com/s/1jIR4Gce  密碼:5zvf
2安裝gcc。命令:yum install make cmake gcc gcc-c++


二、安裝libfastcommon

2.上傳libfastcommon.zip 到 /home/yintingting 目錄下(這里目錄你隨意)
3. 進行解壓libfastcommon.zip:
命令:unzip libfastcommon.zip -d /usr/local/fast/
4. 進入目錄:cd /usr/local/fast/libfastcommon/

5. 進行編譯和安裝:
命令:./make.sh
命令:./make.sh install

如果報錯

./make.sh:行99: perl: 未找到命令
./make.sh:行100: perl: 未找到命令
那執行:

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

否則繼續

注意安裝的路徑:也就是說,我們的libfastcommon默認安裝到了/usr/lib64/這個
位置。

6.進行軟鏈接創建。

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

創建目錄
命令:mk dir /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

三、安裝FastDFS
1 進入到 cd /home/lee下,解壓FastDFS_v5.05.tar.gz文件
命令:cd /home/lee
命令:tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
2 安裝編譯
命令:cd /usr/local/fast/FastDFS/
編譯命令:./make.sh
安裝命令:./make.sh install

 

3 采用默認安裝方式腳本文件說明:
服務腳本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd

 

配置文件在:
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample

 

命令行工具在/usr/bin/目錄下,Fdfs_*的一些列執行腳本

 

4.因為FastDFS服務腳本設置的bin目錄為/usr/local/bin/下,但是實際我們安裝在了/u
sr/bin/下面。所以我們需要修改FastDFS配置文件中的路徑,也就是需要修改倆
個配置文件:
命令:vim /etc/init.d/fdfs_storaged
進行全局替換命令:%s+/usr/local/bin+/usr/bin
命令:vim /etc/init.d/fdfs_trackerd
進行全局替換命令:%s+/usr/local/bin+/usr/bin

四.配置跟蹤器
1 進入 cd/etc/fdfs/ 目錄配置跟蹤器文件,把tracker.conf.sample文件

進行copy一份:去修改tracker.conf文件

命令: cp tracker.conf.sample tracker.conf

2 修改tracker.conf文件
命令:vim /etc/fdfs/tracker.conf
如下圖所示:我們暫時修改配置文件里的base_path即可。

修改為自己的路徑地址:base_path=/fastdfs/tracker(這個目錄待會創建)

3 最后我們一定要創建之前定義好的目錄(也就是/fastdfs/tracker):
命令:mkdir -p /fastdfs/tracker

4 開放22122端口:

centos7以下版本:
Vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重啟:service iptables restart

centos7版本

命令:firewall-cmd --permanent --add-port=22122/tcp

重啟:firewall-cmd --reload后才可生效

五 啟動跟蹤器
目錄命令:cd /fastdfs/tracker/ && ll

啟動tracker命令:/etc/init.d/fdfs_trackerd start
查看進程命令:ps -el | grep fdfs
(停止tracker命令:/etc/init.d/fdfs_trackerd stop,注意這里不要stop啊)

6可以設置開機啟動跟蹤器:(一般生產環境需要開機啟動一些服務,如keepalived、linux、tomcat)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_trackerd start

六、配置FastDFS存儲


1 進入文件目錄:cd /etc/fdfs/,進行copy storage文件一份
命令:cd /etc/fdfs/
命令:cp storage.conf.sample storage.conf


2 修改storage.conf文件
命令:vim /etc/fdfs/storage.conf
修改內容:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.1.172:22122
http.server_port=8888

3 創建存儲目錄:mkdir -p /fastdfs/storage


4 開放23000端口:參照上面開放22122端口內容

5 啟動存儲(storage)
命令:/etc/init.d/fdfs_storaged start (關閉命令:/etc/init.d/fdfs_storaged stop)
(初次啟動成功后會在/fastdbf/storage/ 目錄下創建 data、logs倆個目錄)

6 查看FastDFS storage 是否啟動成功
命令:ps -ef | grep fdfs

 

並且我們進入到/fastdfs/storage/data/文件夾下會看到一些目錄文件(256*256)
如下:
命令:cd /fastdfs/storage/data/ && ls

 

7同理,也可以設置開機啟動存儲器:(一般生產環境需要開機啟動一些服務,如keepalived、linux、tomcat)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_storaged start


到此為止我們的FastDFS環境已經搭建完成!

 

七.測試環境


1 我們先使用命令上傳一個文件。注意:是在tracker(跟蹤器)中上傳。
首先我們在跟蹤器里copy一份client.conf文件。
命令:cd /etc/fdfs/
命令:cp client.conf.sample client.conf

 

2 編輯client.conf文件
命令:vim /etc/fdfs/client.conf
修改內容:
base_path=/fastdfs/tracker
tracker_server=192.168.1.172:22122


3 我們找到命令的腳本位置,並且使用命令,進行文件的上傳:
命令:cd /usr/bin/
命令:ls | grep fdfs

4 使用命令fdfs_upload_file進行上傳操作:
首先,我們先看一下存儲器,進入到data下,在進入00文件夾
下,發現00文件夾下還有一堆文件夾,然后繼續進入00文件夾下,最終我們所
進入的文件夾為:
/fastdfs/storage/data/00/00 里面什么文件都沒有。

 

然后,我們進行上傳操作,比如把之前的/usr/local/software/文件夾下的某一個
文件上傳到FastDFS系統中去,在跟蹤器中上傳文件,命令如
下:
命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf
/home/yintingting/FastDFS_v5.05.tar.gz

 

最后我們發現,命令執行完畢后,返回一個group1/M00/00/00/...的ID,其實就
是返回當前所上傳的文件在存儲器中的哪一個組、哪一個目錄位置,所以我們查看存儲器中的/fastdfs/storage/data/00/00文件夾位置,發現已經存在了剛才上傳的文件,到此為止,我們的測試上傳文件已經OK了。

 

 

八.fastdfs 與nginx整合

1 首先必須先安裝nginx (下載地址: http://mirrors.sohu.com/nginx/)

2 然后我們在存儲節點上安裝fastdfs-nginxmodule_v1.16.tar.gz包進行整合。

 

目錄命令:cd /home/yintingting
解壓命令:tar -zxvf /home/yintingting/fastdfs-nginx-module_v1.16.tar.gz -C
/usr/local/fast/

 

3 進入目錄:cd fastdfs-nginx-module/src/


4 編輯配置文件config
命令: vim /usr/local/fast/fastdfs-nginx-module/src/config
修改內容:去掉下圖中的local文件層次

 

修改完畢為:

5 FastDFS與nginx進行集成


首先把之前的nginx進行刪除
目錄命令:cd /usr/local/
刪除命令:rm -rf nginx
進入到nginx目錄命令:cd nginx-1.6.2/

由於需要安裝nginx,需要安裝依賴:yum -y install  zlib pcre pcre-devel zlib-devel

加入模塊命令:./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
重新編譯命令:make && make install

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

 

copy命令:cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/


7 進行修改 /etc/fdfs/ 目錄下,我們剛剛copy過來的mod_fastdfs.conf 文件。

命令:vim /etc/fdfs/mod_fastdfs.conf
修改內容:比如連接超時時間、跟蹤器路徑配置、url的group配置、
connect_timeout=10
tracker_server=192.168.1.172:22122
url_have_group_name = true
store_path0=/fastdfs/storage


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

 

目錄命令:cd /usr/local/fast/FastDFS/conf/
Copy命令:cp http.conf mime.types /etc/fdfs/


9創建一個軟連接,在/fastdfs/storage文件存儲目錄下創建軟連接,將其鏈接到實際存放數據
的目錄。
命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00


10 修改Nginx配置文件,如圖所示:


命令:vim nginx.conf
添加端口映射配置內容如:


修改內容為:

server{
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
root /fastdfs/storage/data;
ngx_fastdfs_module;
}

}

注意:nginx里的端口要和配置FastDFS存儲中的storage.conf文件配置一致,
也就是(http.server_port=8888)

11 最后檢查防火牆,然后我們啟動nginx服務

啟動命令:/usr/local/nginx/sbin/nginx,


上傳一個文件,上傳成功,


現在我們使用這個ID用瀏覽器訪問地址:
http://192.168.1.173:8888/group1/M00/00/00/wKgBrVaSvM6AddWWAAVFOL7FJU4.tar.gz
我們就可以下載這個文件啦!如下圖所示:

 


運維注意:我們在使用FastDFS的時候,需要正常關機,不要使用kill -9
強殺FastDFS進程,不然會在文件上傳時出現丟數據的情況。
到此,我們的FastDFS與Nginx整合完畢!!


九:啟動停止服務步驟如下:


啟動命令:
啟動tracker命令:/etc/init.d/fdfs_trackerd start
查看進程命令:ps -el | grep fdfs
啟動storage命令:/etc/init.d/fdfs_storaged start
查看進程命令:ps -el | grep fdfs
啟動nginx命令:/usr/local/nginx/sbin/nginx

 

停止命令:
停止tracker命令:/etc/init.d/fdfs_trackerd stop
關閉storage命令:/etc/init.d/fdfs_storaged stop
關閉nginx命令:/usr/local/nginx/sbin/nginx -s stop

刪除上傳文件:
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wK
gBe1iEcGOAafHdALSFS-ifSIk.tar.gz

參考資料:https://my.oschina.net/u/1867229/blog/829572真是謝謝這個作者,幫了我大忙,當然其中有點小麻煩,還好都解決了。

中間出現了虛擬機IP地址變化的情況,這時候需要重設IP地址,更改如下文件后,用ip addr命令看是否ip多了一個你剛輸入的

vim /etc/sysconfig/network-scripts/ifcfg-eth0  

  1. # ]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  
  2. HWADDR="00:15:5D:07:F1:02"  
  3. TYPE="Ethernet"  
  4. BOOTPROTO="static" #dhcp改為static   
  5. DEFROUTE="yes"  
  6. PEERDNS="yes"  
  7. PEERROUTES="yes"  
  8. IPV4_FAILURE_FATAL="no"  
  9. IPV6INIT="yes"  
  10. IPV6_AUTOCONF="yes"  
  11. IPV6_DEFROUTE="yes"  
  12. IPV6_PEERDNS="yes"  
  13. IPV6_PEERROUTES="yes"  
  14. IPV6_FAILURE_FATAL="no"  
  15. NAME="eth0"  
  16. UUID="bb3a302d-dc46-461a-881e-d46cafd0eb71"  
  17. ONBOOT="yes" #開機啟用本配置  
  18. IPADDR=192.168.7.106 #靜態IP  
  19. GATEWAY=192.168.7.1 #默認網關  
  20. NETMASK=255.255.255.0 #子網掩碼  
  21. DNS1=192.168.7.1 #DNS 配置  


免責聲明!

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



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