Dubbo分布式架構實戰--FastDFS分布式文件係統的安裝與使用(單節點)
跟蹤服務器:192.168.4.121 (edu-dfs-tracker-01)
存儲服務器:192.168.4.125 (edu-dfs-storage-01)
環境:CentOS 6.6
用戶:root
數據目錄:/fastdfs (注:數據目錄按你的數據盤掛載路徑而定)
安裝包:
FastDFS v5.05
libfastcommon-master.zip(是從FastDFS和FastDHT中提取出來的公共C函數庫)
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.6.2.tar.gz
fastdfs_client_java._v1.25.tar.gz
源碼地址:https://github.com/happyfish100/
下載地址:https://sourceforge.net/projects/fastdfs/files/
官方論壇:https://bbs.chinaunix.net/forum-240-1.html
# yum install make cmake gcc gcc-c++
# cd /usr/local/src/
# unzip libfastcommon-master.zip
# cd libfastcommon-master
# ./make.sh
# ./make.sh install
# 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
(1)上傳或下載FastDFS源碼包(FastDFS_v5.05.tar.gz)到 /usr/local/src 目錄
# cd /usr/local/src/
# tar -zxvf FastDFS_v5.05.tar.gz
# cd FastDFS
# ./make.sh
# ./make.sh install
# cd /usr/bin/
# ls | grep fdfs
因此需要修改FastDFS服務腳本中相應的命令路徑,也就是把/etc/init.d/fdfs_storaged
和/etc/init.d/fdfs_tracker兩個腳本中的/usr/local/bin修改成/usr/bin:
# vi fdfs_trackerd
使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin
# vi fdfs_storaged
使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin
1、 複製FastDFS跟蹤器樣例配置文件,並重命名:
# cd /etc/fdfs/
# cp tracker.conf.sample tracker.conf
2、 編輯跟蹤器配置文件:
# vi /etc/fdfs/tracker.conf
disabled=false
port=22122
base_path=/fastdfs/tracker
(其它參數保留默認配置,具體配置解釋請參考官方文檔說明:
https://bbs.chinaunix.net/thread-1941456-1-1.html )
3、 創建基礎數據目錄(參考基礎目錄base_path配置):
# mkdir -p /fastdfs/tracker
4、 防火牆中打開跟蹤器端口(默認為22122):
# vi /etc/sysconfig/iptables
# service iptables restart
5、 啟動Tracker:
# /etc/init.d/fdfs_trackerd start
(初次成功啟動,會在/fastdfs/tracker目錄下創建data、logs兩個目錄)
# ps -ef | grep fdfs
6、 關閉Tracker:
# /etc/init.d/fdfs_trackerd stop
7、 設置FastDFS跟蹤器開機啟動:
# vi /etc/rc.d/rc.local
1、 複製FastDFS存儲器樣例配置文件,並重命名:
# cd /etc/fdfs/
# cp storage.conf.sample storage.conf
2、 編輯存儲器樣例配置文件:
# vi /etc/fdfs/storage.conf
disabled=false
port=23000
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.4.121:22122
http.server_port=8888
(其它參數保留默認配置,具體配置解釋請參考官方文檔說明:
https://bbs.chinaunix.net/thread-1941456-1-1.html )
3、 創建基礎數據目錄(參考基礎目錄base_path配置):
# mkdir -p /fastdfs/storage
4、 防火牆中打開存儲器端口(默認為23000):
# vi /etc/sysconfig/iptables
# service iptables restart
5、 啟動Storage:
# /etc/init.d/fdfs_storaged start
(初次成功啟動,會在/fastdfs/storage目錄下創建data、logs兩個目錄)
# ps -ef | grep fdfs
6、 關閉Storage:
# /etc/init.d/fdfs_storaged stop
7、 設置FastDFS存儲器開機啟動:
# vi /etc/rc.d/rc.local
# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# vi /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.4.121:22122
# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
返回ID號:group1/M00/00/00/wKgEfVUYNYeAb7XFAAVFOL7FJU4.tar.gz
# cd /usr/local/src/
# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
# cd fastdfs-nginx-module/src
# vi config
(注意:這個路徑修改是很重要的,不然在nginx編譯的時候會報錯的)
# yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
# cd /usr/local/src/
# tar -zxvf nginx-1.6.2.tar.gz
# cd nginx-1.6.2
# ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src
# make && make install
# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
# vi /etc/fdfs/mod_fastdfs.conf
connect_timeout=10
tracker_server=192.168.4.121:22122
url_have_group_name = true
store_path0=/fastdfs/storage
# cd /usr/local/src/FastDFS/conf
# cp http.conf mime.types /etc/fdfs/
# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
user root;
listen 8888;
注意、說明:
A、8888端口值是要與/etc/fdfs/storage.conf中的http.server_port=8888 相對應,
因為http.server_port默認為8888,如果想改成80,則要對應修改過來。
location ~/group([0-9])/M00 {
C、如查下載時如發現老報404,將nginx.conf第一行user nobody修改為user root後重新啟動。
12、防火牆中打開Nginx的8888端口
# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
# service iptables restart
# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=xxx
(重啟Nginx的命令為:/usr/local/nginx/sbin/nginx -s reload)
14、通過瀏覽器訪問測試時上傳的文件基於Dubbo的分布式係統架構實戰
https://192.168.4.125:8888/group1/M00/00/00/wKgEfVUYNYeAb7XFAAVFOL7FJU4.tar.gz
六、FastDFS的使用的Demo樣例講解與演示:
最後更新:2017-08-31 18:02:26