fastdfs檔案伺服器的基本安裝和配置
阿新 • • 發佈:2019-02-03
感謝各位的分享:
說明:
系統:阿里雲的centos 7
nginx:nginx-1.13.9
fastdfs:fastdfs-5.11
一、準備工作
安裝相關依賴
yum -y install make cmake gcc gcc-c++ bison-devel ncurses-devel autoconf automake lrzsz zip unzip netstat-nat libevent.x86_64 libevent-devel.x86_64
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
下載相關軟體
二、安裝libfastcommon-master
解壓:unzip libfastcommon-master.zip
如果沒有許可權給許可權:chmod -R 777 libfastcommon-master
開啟解壓檔案目錄: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
三、安裝fastdfs-5.11
解壓:tar zxvf fastdfs-5.11.tar.gz
開啟資料夾:cd fastdfs-5.11
編譯:./make.sh
安裝:./make install
如下圖所示則安裝成功:
開啟配置資料夾:cd /etc/fdfs 發現不是我們需要的,cp一下就好了
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
建立相關目錄
mkdir -p /home/fastdft/fastdfs_tracker_log #tracker日誌目錄 mkdir –p /home/fastdft/fastdfs_storage_log #storage日誌目錄 mkdir –p /home/fastdft/fastdfs_storage_1_log #storage1日誌目錄 mkdir -p /home/fastdft/resource #檔案目錄 mkdir -p /home/fastdft/images #檔案目錄 chmod -R 777 /home/fastdft/
開啟目錄:cd /etc/fdfs/
編輯tracker.conf:vi tracker.conf
disabled=false #當前配置是否可用 false:可用 true:不可用
bind_addr= #是否繫結IP,不設定為不繫結
port=22122 #預設的埠 不衝突的話不要修改
connect_timeout=30 #針對socket套接字函式connect的連線超時時間設定
network_timeout=60 #設定網路超時,單位秒,傳送或接收資料時,如果在超時時間之後依然不能進行,則本次網路通訊失敗
base_path= /home/fastdft/fastdfs_tracker_log #日誌檔案 可根據需要修改
max_connections=256 #伺服器支援的最大連線數
accept_threads=1 #工作執行緒數,通常設定為CPU數量
store_lookup=2 #上傳組(卷)的方式:0輪詢,1:指定,2:負載平衡(剩餘空間最大選擇)
store_group=group1#組名稱很重要 如果上一引數選擇1方式,即制定組名,當前引數用來設定指定的組,如果選擇其他方式,當前引數無效
store_server=101.201.113.170:22122 #伺服器IP:埠 ,IP根據本機IP來填寫
store_path=0
http.server_port=9090 #http埠,使用Nginx來訪問則不需要這個
注意複製的時候不要複製註釋
五、配置storage.conf
group_name=group1 #組名稱很重要,如果tracker.conf配置為指定組名的話要和tracker.conf配置的相同
base_path= /home/fastdft/fastdfs_storage_log #storaged服務日誌目錄
store_path0= /home/fastdft/resource #檔案資料存放目錄
tracker_server=192.168.1.129:22122 #伺服器IP:埠 ,IP根據本機IP來填寫
http.server_port=9091 #http埠,使用Nginx來訪問則不需要這個
六、啟動
1、tracker跟蹤伺服器啟動
方式一
啟動:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
方式二
建立軟連線:ln -s /usr/bin/ fdfs_trackerd /usr/local/bin
啟動:service fdfs_trackerd start
2、storage儲存節點服務啟動
方式一
啟動:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
方式二
建立軟連線:n -s /usr/bin/fdfs_storaged /usr/local/bin
啟動服務:service fdfs_storaged start
第一次啟動的時候最好先用方式一啟動這樣可以看到啟動是否出錯,也可以檢視日誌
新增開機自啟動
編輯vim /etc/rc.d/rc.local
新增一下命令
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
檢視是否啟動成功:netstat -unltp | grep fdfs
如上圖所示說明啟動成功然後開啟檔案資料的存放目錄,就是在storage.conf配置檔案中的配置的store_path0的路徑
檢視tracker上是否有相應的儲存節點,即 tracker和storage是否連線起來了
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
看到圖中的字樣便成功了,這個時候安裝任務可以說就算完成了3、測試
編輯client.conf:vim /etc/fdfs/client.conf
base_path=/home/fastdft/fastdfs_client_log #tracker伺服器檔案路徑
tracker_server=192.168.1.129:22122#tracker伺服器IP地址和埠號
http.tracker_server_port=9090# tracker 伺服器的 http 埠號,必須和tracker的設定對應
使用以下命令,進行測試,其中login.dat檔案是在伺服器的另一個地方
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/fastdft/resource/login.dat 47.94.222.211:23000
如下圖所示,返回了檔案的路徑
上圖中畫黃線的是上傳之前的檔案,畫白線的為上傳之後的檔案
刪除命令:/usr/bin/fdfs_delete_file /etc/fdfs/client.conf chni/M00/00/00/rBFzVVrtvwSAd80VAAAB66UF660581.dat
這個時候就可以使用java api進行上傳、同步和下載,但是想要通過http方式進行下載,還需要配置nginx
七、安裝fastdfs-nginx-module-master
解壓:unzip fastdfs-nginx-module-master
開啟:cd fastdfs-nginx-module-master/src
編輯:vim mod_fastdfs.conf
tracker_server=192.168.1.129:22122
group_name=group1
url_have_group_name = true
store_path0=/home/fastdft/resource
將相關配置拷貝到etc/fdfs下
cp mod_fastdfs.conf /etc/fdfs
cd fastdfs-5.11/conf/
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
建立軟連線
ln -s /home/fastdft/resource /home/fastdft/resource/data/M00
八、配置nginx
注意:如果已經安裝過nginx需要重新編譯安裝,不然會報:unknown directive "ngx_fastdfs_module"的錯誤
檢查:./configure --prefix=/usr/local/nginx --add-module=/home/download/fastdfs/fastdfs-nginx-module-master/src
編譯和安裝:make&makeinstall
最後在nginx的配置檔案中新增一下配置即可
server {
listen 80;
server_name 域名;
location / {
root html;
index index.html index.htm;
}
location /group1/M00 {
alias /home/fastdft/resource/;
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
這時候在瀏覽器中輸入
http://lc.ibeir.net/group1/M00/00/00/rBFzVVrt1b-AYdiAAAAB66UF660954.dat
就會下載
九、一個tracker和多個storage配置
將storage.conf拷貝一份並重命名,例如storage_1.conf
配置storage_1.conf
group_name=group1 #組名稱很重要,和tracker.conf相同
base_path= /home/fastdft/fastdfs_storage_1_log #storaged服務日誌目錄
store_path0= /home/fastdft/images#檔案資料存放目錄
tracker_server=192.168.1.129:22122 #伺服器IP:埠 ,IP根據本機IP來填寫
http.server_port=9091 #http埠,使用Nginx來訪問則不需要這個
配置mod_fastdfs.conf
在配置檔案下新增或修改以下配置
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/fastdft/resource
[group2]
group_name=group2
storage_server_port=23001
store_path_count=1
store_path0=/home/fastdft/images
找到之前配好的並且遮蔽掉
#storage_server_port=23000
#group_name=group1
#store_path_count=1
#store_path0=/home/fastdft/resource
配置nginx
在service新增以下配置
location /group2/M00 {
alias /home/fastdft/images/;
ngx_fastdfs_module;
}
測試
分組上傳
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/fastdft/resource/login.dat 192.168.1.129:23000
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/fastdft/resource/login.dat 192.168.1.129:23001
上傳成功會返回一個地址,在瀏覽器分別輸入
http://lc.ibeir.net/group1/M00/00/00/rBFzVVrt1b-AYdiAAAAB66UF660954.dat
http://lc.ibeir.net/group2/M00/00/00/rBFzVVrt1b-AYdiAAAAB66UF660954.dat
就會下載