FastDFS是以C語言開發的一項開源輕量級分佈式文件系統,他對文件進行管理,主要功能有:文件存儲,文件同步,文件訪問(文件上傳/下載),特別適合以文件爲載體的在線服務,如圖片網站,視頻網站等nginx
FastDFS由三部分構成: Client -> Tracker Server -> Storage Serverc++
首先搭建Linux虛擬機環境,以Centos7爲例,搭建圖片服務器shell
下載安裝libevent包 yum -y install libevent 。centos
將下面三個tar.gz 解壓包經過filezilla 傳入到虛擬機
服務器
首先解壓libfastcommon,而後進入,編譯安裝 make.sh ./make.sh ./make.sh install負載均衡
而後解壓FastDFS 解壓 編譯安裝同libfastcommon分佈式
安裝後,bin文件在 /usr/bin下 命名爲fdfs_xxx測試
配置文件在 /etc/fdfs目錄下. 把解壓後的fastDFS/conf下文件所有複製到/etc/fdfs下,而後進行相應修改。網站
vi tracker.conf 修改base_path【存儲日誌】如換成:/fastdfs/trackerurl
vi storage.conf 修改 base_path 【存儲數據以及日誌】、group_name【組織名,訪問服務器要加上的前綴】、store_path0【實際圖片存放路徑】、tracker_server【修改成tracker服務器 IP地址,由於要向tracker服務器定時彙報】
vi client.conf 修改base_path、tracker_server
啓動 tracker storage服務: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
測試client 用/usr/bin下的fdfs_test服務。如:測試上傳某圖片.
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/logo.png
上傳後 返回的信息中有路徑: remote_filename = M00/00/00/xxxxxxxxxxxx.png ,訪問的話要加上group_name
fastdfs-nginx-module/ 解壓目錄下,修改 /src/config 文件 將裏面的三個/local去掉【同前面fastdfs文件目錄一致】。
須要將該目錄下的mod_fastdfs.conf 文件拷貝到 /etc/fdfs目錄下。在/etc/fdfs下修改該配置文件 修改base_path【/tmp --> /fastdfs/tmp /fastdfs下沒有/tmp目錄 須要本身去建立】、tracker_server、group_name、url_have_group_name =true【是否須要group_name作訪問前綴】、store_path0【must same as storage.conf】 : /fastdfs/storage
上面把fastdfs安裝配置完畢,如今須要nginx來代理fastdfs服務器.
安裝相應的庫 gcc、pcre、pcre-devel、zlib、zlib-devel、openssl、openssl-devel yum install gcc-c++ /pcre pcre-devel /zlib .........
解壓nginx 的tar.gz包 ,進入目錄,對目錄下的configure作相應配置【最後fastdfs-nginx-module爲添加fastdfs模塊 路徑爲對應安裝位置的/src目錄】
配置完後 而後在nginx目錄下 對總體進行編譯 安裝 make make install
進入/usr/local/nginx/conf下修改nginx.conf 在裏面另外添加一個服務器端口
server{ listen 88; server_name 服務器地址; # 配置nginx進行負載均衡的路徑 location ~/group[0-9]/M00 { ngx_fastdfs_module; } }
關閉防火牆或者打開端口【訪問不了的緣由】。
#centos7啓動防火牆 systemctl start firewalld.service #centos7中止防火牆/關閉防火牆 systemctl stop firewalld.service #centos7重啓防火牆 systemctl restart firewalld.service #設置開機啓用防火牆 systemctl enable firewalld.service #設置開機不啓動防火牆 systemctl disable firewalld.service
而後打開nginx 配置裏設置了前綴 能夠直接用 nginx 開啓nginx服務器
-------------------------------------------到此,圖片服務器搭建完畢。------------------------------------------------------