FastDFS安裝與部署

yne7 9年前發布 | 25K 次閱讀 FastDFS

(一)下載依賴庫libevent(不管解壓在哪里必須安裝在/usr目錄下,否則FastDFS找不到)
wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
tar zvxf libevent-1.4.14b-stable.tar.gz
./configure --prefix=/usr
make clean;
make
make install

(二)下載FastDFS安裝包及nginx依賴組件
FastDFS官方論壇:http://www.csource.org
下載1:http://sourceforge.net/projects/fastdfs/files/
下載2:https://code.google.com/p/fastdfs/downloads/list

所需要下載的壓縮包有:
FastDFS源代碼:FastDFS_v5.01.tar.gz
nginx服務器源代碼:nginx-1.4.7.tar.gz
nginx擴展插件源代碼:fastdfs-nginx-module_v1.15.tar.gz
nginx緩存插件源代碼:ngx_cache_purge-2.1.tar.gz
nginx依賴的pcre庫源代碼:pcre-8.34.tar.gz
nginx依賴的zlib庫源代碼:zlib-1.2.8.tar.gz
nginx依賴的openssl庫源代碼:openssl-fips-2.0.9.tar.gz

--關閉防火墻
service iptables stop

(三)安裝
cp FastDFS_v5.01.tar.gz /usr/local/src/
cd /usr/local/src/
tar -zxvf FastDFS_v5.01.tar.gz
cd FastDFS
./make.sh
./make.sh install

備注:
(1)./make.sh期間安裝錯誤,可能缺少依賴的軟件包,安裝后重新執行./make.sh
(2)安裝的
源文件目錄在:/usr/local/src/
可執行文件目錄在:/usr/local/bin
所有配置文件目錄在:/etc/fdfs(該目錄下會產生tracker.conf、storage.conf及client.conf)

至此FastDFS安裝成功....



(四)配置及啟動Tracker Server
vim /etc/fdfs/tracker.conf
--修改文件:
disabled=false #啟用配置文件(這個暫時不知道怎么處理先不改)
port=22122 #設置tracker的端口號
base_path=/fdfs/tracker #設置tracker的數據文件和日志目錄(需預先創建) 
http.server_port=8090 #設置http端口號

include http.conf


注意上面那個是1個#,默認是2個#,去掉1個就行

--開啟端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22122 -j ACCEPT
--將防火墻規則保存到/etc/sysconfig/iptables(若iptables不存在則手動創建并授權)
/etc/init.d/iptables save
--啟動tracker,確認啟動是否成功
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
--查看是否對應端口22122是否開始監聽
netstat -unltp | grep fdfs
--查看tracker的日志是否有錯誤
cat /fdfs/tracker/logs/trackerd.log
--設置開機自動啟動
vim /etc/rc.d/rc.local
添加:/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart



(五)配置及啟動Storage Server
vim /etc/fdfs/storage.conf
--修改文件:
group_name=group1 #組名,根據實際情況修改
port=23000 #設置storage的端口號
base_path=/fdfs/storage #設置storage的日志目錄(需預先創建)
store_path_count=1 #存儲路徑個數,需要和store_path個數匹配
store_path0=/fdfs/storage #存儲路徑
tracker_server=192.168.1.103:22122 #tracker服務器的IP地址和端口號(若tracker是單獨服務器則ip另寫)
http.server_port=8888 #設置http端口號

include http.conf


--開啟端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 23000 -j ACCEPT
--將防火墻規則保存到/etc/sysconfig/iptables(若iptables不存在則手動創建并授權)
/etc/init.d/iptables save
--啟動tracker,確認啟動是否成功
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
--查看是否對應端口23000是否開始監聽
netstat -unltp | grep fdfs
--查看tracker的日志是否有錯誤
cat /fdfs/storage/logs/storaged.log
--設置開機自動啟動
vim /etc/rc.d/rc.local
添加:/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart

--啟動成功后,運行fdfs_monitor查看storage服務器是否已經登記到tracker服務器。前幾行看到tracker的ip即正常
/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf

至此,非nginx的FastDFS文件系統已安裝完成

(六)驗證FastDFS上傳下載(上傳下載可省端client配置可省略)
vim /etc/fdfs/client.conf
--修改client.conf
base_path=/fdfs/client
tracker_server=192.168.1.103:22122
http.tracker_server_port=8090 #設置tracker端口號

--上傳
fdfs_test /etc/fdfs/client.conf upload /data/monk.jpg
http://192.168.1.103:8090/group1/M00/00/00/OlPQG1Db6jWAFmbTAAADqdgNsks5096460_big.jpg
--刪除
fdfs_test /etc/fdfs/client.conf delete group1 M00/00/00/OlPQG1Db6jWAFmbTAAADqdgNsks5096460_big.jpg

http://192.168.1.103:8090/group1/M00/00/00/wKgBZ1UX8tGACWOJAACdM6nw92I711_big.jpg





(七)FastDFS和nginx整合
(1)nginx安裝擴展插件
cp fastdfs-nginx-module_v1.15.tar.gz /usr/local/src
tar -zxvf fastdfs-nginx-module_v1.15.tar.gz
cd /usr/local/src
cd nginx-1.4.7
./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src --with-pcre=/usr/local/src/pcre-8.34/ --with-zlib=/usr/local/src/zlib-1.2.8
make
make install

--復制擴展插件配置文件到/etc/fdfs
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/



(2)配置mod_fastdfs.conf
vim /etc/fdfs/mod_fastdfs.conf
--修改文件:
base_path=/fdfs/storage #保存日志目錄
tracker_server=192.168.1.103:22122 #tracker服務器的IP地址以及端口號
storage_server_port=23000 #storage服務器的端口號
group_name=group1 #當前服務器的group名
url_have_group_name = true #文件url中是否有group名
store_path_count=1 #存儲路徑個數,需要和store_path個數匹配
store_path0=/fdfs/storage #存儲路徑
http.need_find_content_type=true #從文件擴展名查找文件類型(nginx時為true)
group_count = 1 #設置組的個數

--建立軟連接
ln -s /fdfs/storage/data /fdfs/storage/data/M00



(3)配置nginx.conf
vim /usr/local/nginx/conf/nginx.conf
--修改文件:
server {
listen 8888;
location / {
root html;
index index.html index.htm;
}
location /group1/M00 {
root /fdfs/storage/data;
ngx_fastdfs_module;
}
}

--重啟tracker
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
--重啟storage
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
--重啟nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -s reload

--查看啟動日志:
cat /fdfs/tracker/logs/trackerd.log
cat /fdfs/storage/logs/storaged.log
cat /usr/local/nginx/logs/error.log

--訪問nginx
http://192.168.1.103:8888/



--查看端口使用情況:
netstat -lnp --tcp

tcp 0 0 0.0.0.0:23000 0.0.0.0: LISTEN 1761/fdfs_storaged
tcp 0 0 0.0.0.0:8888 0.0.0.0:
LISTEN 1718/nginx
tcp 0 0 0.0.0.0:8090 0.0.0.0: LISTEN 1809/fdfs_trackerd
tcp 0 0 0.0.0.0:22122 0.0.0.0:
LISTEN 1809/fdfs_trackerd

默認的8888端口本來是storage的,現在被nginx替代



(8)上傳下載
--上傳前確保/etc/fdfs/client.conf正確配置
base_path=/fdfs/tracker                    #日志存放路徑
tracker_server=192.168.1.103:22122         #tracker服務器IP地址和端口號
http.tracker_server_port=8090              #tracker服務器的http端口號

--使用/usr/local/bin/fdfs_upload_file上傳一個文件,程序會自動返回文件的URL
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /data/8.jpg

--返回:
group1/M00/00/00/wKgBZ1UX_7WAQTFPAACdM6nw92I838.jpg

--瀏覽器訪問:
http://192.168.1.103:8888/group1/M00/00/00/wKgBZ1UX_7WAQTFPAACdM6nw92I838.jpg

--查看nginx的access.log日志,可以看到訪問返回200成功

tail -n 10 -f /usr/local/nginx/logs/access.log

http://nonfu.me/p/4843.html

 本文由用戶 yne7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!