目錄
簡介
FastDFS是一款開源的分佈式文件系統,功能主要包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了文件大容量存儲和高性能訪問的問題。FastDFS特別適合以文件爲載體的在線服務,如圖片、視頻、文檔等等。
部署
安裝依賴環境
yum install -y git wget make cmake gcc gcc-c++
本示例在/root目錄下執行
#下載源碼
git clone https://github.com/happyfish100/libfastcommon.git
git clone https://github.com/happyfish100/fastdfs.git
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
#下載nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
#安裝fastdfs
cd libfastcommon
./make.sh && ./make.sh install
cd ../fastdfs
./make.sh && ./make.sh install
#配置fastdfs
cp -r conf/* /etc/fdfs/
vi /etc/fdfs/tracker.conf
修改:
base_path=/data/fastdfs
vi /etc/fdfs/storage.conf
修改:
base_path=/data/fastdfs
store_path0=/data/fastdfs/storage
tracker_server=192.168.81.143:22122
mkdir -p /data/fastdfs/storage
#啓動
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
#查看啓動情況
ps -ef|grep tracker
ps -ef|grep storage
#查看啓動日誌
tail -n 1000 /data/fastdfs/logs/storaged.log
#安裝nginx
yum install -y gcc openssl-devel pcre-devel
tar -xzf nginx-1.16.1.tar.gz
cd nginx-1.16.1
mkdir -p /data/fastdfs/nginx
./configure --prefix=/data/fastdfs/nginx --add-module=/root/fastdfs-nginx-module/src
make && make install
#驗證編譯
/data/fastdfs/nginx/sbin/nginx -V
cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
修改:
base_path=/data/fastdfs
tracker_server=192.168.81.143:22122
store_path0=/data/fastdfs/storage
url_have_group_name = true
vi /data/fastdfs/nginx/conf/nginx.conf
修改
server {
listen 80;
server_name localhost;
location /group1/M00/{
ngx_fastdfs_module;
}
}
啓動nginx
/data/fastdfs/nginx/sbin/nginx
測試
fdfs客戶端測試
vi /etc/fdfs/client.conf
修改
base_path=/data/fastdfs
tracker_server=192.168.81.143:22122
http.tracker_server_port=80#注意這個端口與http端口的對應
上傳命令:
/usr/bin/fdfs_upload_file <config_file> <local_filename>
新建測試文件1.txt,內容隨便寫點,執行這個命令上傳
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.txt
返回
group1/M00/00/00/wKhRj13OECaABJV_AAAACmuTlHg533.txt
解釋下這個路徑:
組名:group1
磁盤:M00
目錄:00/00
文件名:wKhRj13OECaABJV_AAAACmuTlHg533.txt
此時
vi /data/fastdfs/storage/data/00/00/wKhRj13OECaABJV_AAAACmuTlHg533.txt
即可看到存儲的內容
或者通過http請求查看
curl http://localhost/group1/M00/00/00/wKhRj13OECaABJV_AAAACmuTlHg533.txt
下載命令:
/usr/bin/fdfs_download_file <config_file> <file_id> [local_filename]
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKhRj13OECaABJV_AAAACmuTlHg533.txt a.txt
刪除命令:
/usr/bin/fdfs_delete_file <config_file> <file_id>
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKhRj13OECaABJV_AAAACmuTlHg533.txt