簡述:FastDFS是一個開源的輕量級分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務,如相冊網站、視頻網站等等。
FastDFS爲互聯網量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集羣提供文件上傳、下載等服務。linux
環境: centos7nginx
安裝包:c++
安裝包位置:/usr/local/softwarevim
安裝準備:關閉防火牆和selinuxcentos
安裝依賴:yum install pcre-devel zlib zlib-devel openssl openssl-devel make cmake gcc gcc-c++服務器
1.安裝 libfastcommon負載均衡
cd /usr/local/software分佈式
unzip libfastcommon-master.zip -d /usr/local/fast/ ide
cd /usr/local/fast/libfastcommon-master/性能
./make.sh
./make.sh install
建立軟鏈接
FastDFS主程序設置的目錄爲/usr/local/lib/,因此咱們須要建立/ usr/lib64/下的一些核心執行程序的軟鏈接文件
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
2.安裝FastDFS
cd /usr/local/software
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
./make.sh
./make.sh install
安裝完後,服務腳本位置以下:
配置文件位置以下(劃線部分爲後續添加)
cd /etc/fdfs
FastDFS一系列執行腳本以下,能夠看到有上傳文件腳本、下載文件腳本等等
cd /usr/bin/ && ls | grep fdfs
fastDFS服務腳本設置的bin目錄爲/usr/local/bin/下,可是實際咱們安裝在了/u sr/bin/下面。因此咱們須要修改FastDFS配置文件中的路徑,也就是須要修改兩個配置文件。
vim /etc/init.d/fdfs_storaged
進入編輯模式
輸入 :%s+/usr/local/bin+/usr/bin
輸入完以後回車,會提示修改了7處。
保存退出
vim /etc/init.d/fdfs_trackerd
進入編輯模式
輸入::%s+/usr/local/bin+/usr/bin
一樣會提醒咱們修改了7處
保存退出
配置跟蹤服務器
進入到/etc/fdfs目錄而且複製一份tracker.conf.sample並命名爲tracker.conf
cp tracker.conf.sample tracker.conf
修改配置
vim /etc/fdfs/tracker.conf
base_path=/fastdfs/tracker
/fastdfs/tracker目前是不存在的,所以咱們須要建立一下該目錄
mkdir -p /fastdfs/tracker
在啓動tracker以前,/fastdfs/tracker目錄下是沒有任何文件的
啓動tracker,啓動完以後,能夠看到這個目錄下多了兩個目錄data和logs
/etc/init.d/fdfs_trackerd start
設置開機自啓
vim /etc/rc.d/rc.local
/etc/init.d/fdfs_trackerd start
chmod +x /etc/rc.d/rc.local
配置fastdfs存儲
cd /etc/fdfs
cp storage.conf.sample storage.conf
vim /etc/fdfs/storage.conf
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.1.141:22122
http.server_port=8888
建立存儲目錄
mkdir -p /fastdfs/storage
在啓動storage以前,/fastdbf/storage目錄下是沒有任何文件的
/etc/init.d/fdfs_storaged start
查看FastDFS tracker和storage 是否啓動成功,當看到以下所示信息時說明都啓動成功了
進入到 /fastdfs/storage/data/目錄下,能夠看到不少目錄
設置開機自啓
vim /etc/rc.d/rc.local
/etc/init.d/fdfs_storaged start
測試圖片上傳
cd /etc/fdfs
cp client.conf.sample client.conf
vim /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.1.141:22122
找到命令的腳本位置,而且使用命令,進行文件的上傳
cd /usr/bin/ && ls | grep fdfs
測試文件上傳 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/3.jpg
可作可不作
2.FastDFS與nginx相結合
先安裝nginx
tar -zxvf nginx-1.6.2.tar.gz -C /usr/local/
cd /usr/local/nginx-1.6.2
./configure --prefix=/usr/local/nginx
make && make install
啓動nginx
/usr/local/nginx/sbin/nginx
ps -ef | grep nginx
查看是否有進程存在
若是要關閉nginx,咱們可使用以下命令:
/usr/local/nginx/sbin/nginx -s stop
若是想要從新熱啓動nginx,則使用以下命令:
/usr/local/nginx/sbin/nginx -s reload
3.安裝fastdfs-nginxmodule_v1.16.tar.gz(fast與nginx相結合的模塊安裝包
cd /usr/local/software
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
cd /usr/local/fast/fastdfs-nginx-module/src/
修改該conf文件,咱們把文件的第四行配置中的/usr/local/include都改成/usr/include,共兩處
vim conf
fastdfs與nginx進行結合,因爲咱們剛纔安裝過nginx了,所以在/usr/local目錄下已經生成了一個nginx目錄了
默認安裝地址/usr/local/nginx(如沒有,可經過whereis nginx查詢或者find / -name nginx
爲了將nginx與fastdfs相結合,咱們先把這個nginx目錄刪除掉,
rm -rf nginx
進入到nginx-版本號(1.6.2)/目錄下並執行配置和編譯安裝:
./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
make && make install
複製fastdfs-nginx-module中的配置文件,到/etc/fdfs目錄中
cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
到 /etc/fdfs/ 目錄下,修改咱們剛copy過來的mod_fastdfs.conf 文件,須要修改的項以下,其中第一項是超時時長,第三項是容許外界經過http方式訪問資源。
connect_timeout=10
tracker_server=192.168.156.13:22122
url_have_group_name = true
store_path0=/fastdfs/storage
複製FastDFS裏的2個文件,到/etc/fdfs目錄中,以下所示。
修改nginx配置文件
vim nginx.conf
重啓下nginx
順便也把nginx也加入到開機自啓(具體操做略)
上傳文件或圖片
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/0a9a05ab02e9f6cc4641ce1f02b755fc.j
pg
記下返回的地址
group1/M00/00/00/wKgBjVyB-uaAdgK3ABBDTsH8aeI247.jpg
經過http的方式訪問咱們上傳的圖片
到此搭建完畢 !!!