FastDfs安裝和使用

在這裏插入圖片描述1 FastDFS介紹
FastDFS 是一個由 C 語言實現的開源輕量級分佈式文件系統,作者餘慶(happyfish100),支持 Linux、FreeBSD、AID 等 Unix 系統,解決了大數據存儲和讀寫負載均衡等問題,適合存儲 4KB~500MB 之間的小文件,如圖片網站、短視頻網站、文檔、app 下載站等,UC、京東、支付寶、迅雷、酷狗等都有使用。
該軟件作者是阿里巴巴大牛、chinaUnix版主餘慶個人獨立開發的。

安裝順序
1 libfastcommon
2 fdfs_tracker
依賴:Gcc、libevent、perl
3 fdfs_storage
4 FastDFS-nginx-module
5 nginx
依賴:pcre-devel、zlib-devel

功能文件目錄
Opt/fastdfs 數據存儲目錄
Usr/local/fdfs 啓動文件目錄
Etc/fdfs 配置文件目錄
Usr/bin/fdfs_trackerd 啓動配置
Etc/init.d/fdfs_trackerd 啓動服務腳本

FastDFS–tracker安裝
FastDFS安裝環境
FastDFS是C語言開發,建議在linux上運行,本教程使用Centos7.4作爲安裝環境。
1.1安裝gcc 依賴環境 yum install gcc-c++ -y
libevent
1.1yum -y install libevent
1.2如果沒有perl庫,需要使用yum install perl* 命令安裝一下
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

安裝libfastcommon
1.1上傳壓縮包文件libfastcommonV1.0.7.tar.gz 到 /usr/local目錄下,並解壓。
1.2tar -zxvf libfastcommonV1.0.7.tar.gz
1.3進入到解壓後的文件夾中
在這裏插入圖片描述1.5進行編譯 ./make.sh
1.5.1如果出現編譯perl 不識別 運行下面這段命令
1.5.2# yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

在這裏插入圖片描述1.7安裝 ./make.sh install
在這裏插入圖片描述1.9注意:libfastcommon安裝好後會自動將庫文件拷貝至/usr/lib64下,由於FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下。
cp /usr/lib64/libfastcommon.so /usr/lib/
安裝tracker
1上傳資料FastDFS_v5.05.tar.gz到 /usr/local 目錄下
2解壓編譯安裝
2.1tar -zxvf FastDFS_v5.05.tar.gz
2.2cd FastDFS
2.3./make.sh
2.4./make.sh install
2.5安裝成功之後,將安裝目錄下的conf下的文件拷貝到/etc/fdfs/下。
2.6cd conf
2.7cp * /etc/fdfs/
3修改配置文件
3.1vim /etc/fdfs/tracker.conf
在這裏插入圖片描述4創建fastdfs文件夾
5mkdir /opt/fastdfs

設置啓動項
啓動服務
mkdir /usr/local/fdfs
拷貝安裝目錄下stop.sh 和restart.sh 到/usr/local/fdfs/
cp restart.sh /usr/local/fdfs/
cp stop.sh /usr/local/fdfs/
在這裏插入圖片描述修改啓動腳本
vi /etc/init.d/fdfs_trackerd
在這裏插入圖片描述在這裏插入圖片描述把啓動腳本中的路徑按照上圖修改
修改完畢後
註冊服務
chkconfig --add fdfs_trackerd

然後可以用service fdfs_trackerd start 啓動測試 如下圖
在這裏插入圖片描述FastDFS—storage配置
修改配置文件
vi /etc/fdfs/storage.conf
在這裏插入圖片描述在這裏插入圖片描述創建fdfs_storage文件夾
mkdir /opt/fastdfs/fdfs_storage
設置服務
vi /etc/init.d/fdfs_storaged
在這裏插入圖片描述在這裏插入圖片描述chkconfig --add fdfs_storaged
啓動服務
service fdfs_storaged start
在這裏插入圖片描述上傳圖片測試
FastDFS安裝成功可通過/usr/bin/fdfs_test測試上傳、下載等操作。

修改/etc/fdfs/client.conf
[root@localhost ~]# vi /etc/fdfs/client.conf
base_path=/opt/fastdfs
tracker_server=192.168.67.163:22122
在這裏插入圖片描述比如將/root下的日誌上傳到FastDFS中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/winteriscoming.jpg

在這裏插入圖片描述對應的上傳路徑:
/opt/fastdfs/fdfs_storage/data /00/00/wKhDo1qipbiAJC6iAAB1tayPlqs094_big.jpg
在這裏插入圖片描述FastDFS整合nginx

安裝nginx整合插件fastdfs-nginx-module
上傳fastdfs-nginx-module_v1.16.tar.gz上傳到 /usr/local,並解壓
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
編輯配置文件:修改config文件將/usr/local/路徑改爲/usr/
(這裏要修改三個路徑)
vim fastdfs-nginx-module/src/config
在這裏插入圖片描述將FastDFS-nginx-module/src下的mod_fastdfs.conf拷貝至/etc/fdfs/下
[root@localhost src]# cp mod_fastdfs.conf /etc/fdfs/
並修改mod_fastdfs.conf的內容:
vi /etc/fdfs/mod_fastdfs.conf
在這裏插入圖片描述
繼續修改
在這裏插入圖片描述繼續修改 url中包含group名稱
在這裏插入圖片描述繼續修改 #指定文件存儲路徑
在這裏插入圖片描述將libfdfsclient.so拷貝至/usr/lib下
[root@localhost src]# cp /usr/lib64/libfdfsclient.so /usr/lib/
安裝nginx
創建nginx/client目錄
[root@localhost src]# mkdir -p /var/temp/nginx/client
安裝環境:
安裝pcre庫
yum -y install pcre-devel
安裝zlib庫
yum install -y zlib-devel
上傳nginx
上傳nginx壓縮包到/usr/local目錄下,解壓
tar -zxvf nginx-1.12.2.tar.gz
添加fastdfs-nginx-module模塊
cd nginx-1.8.0
./configure
–prefix=/usr/local/nginx
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
–add-module=/usr/local/fastdfs-nginx-module/src

配置成功

在這裏插入圖片描述編譯
[root@localhost nginx-1.12.2]# make
安裝
[root@localhost nginx-1.12.2]# make install

編輯nginx.conf
vi /usr/local/nginx/conf/nginx.conf
在這裏插入圖片描述啓動nginx
/usr/local/nginx/sbin/nginx
設置開機啓動
[root@iZ2zednyjjxxq7k3i2dwsfZ nginx-1.12.2]# vi /etc/rc.d/rc.local
在這裏插入圖片描述需要關閉防火牆
service iptables stop
永久關閉 chkconfig iptables off
測試

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/ty.jpg
在這裏插入圖片描述顯示結果:
在這裏插入圖片描述二、簡單使用
利用Java客戶端調用FastDFS
加載Maven依賴
org.csource
fastdfs-client-java
1.27-SNAPSHOT
然後可以進行一下上傳的測試

@RunWith(SpringRunner.class)
@SpringBootTest

@Test
public void textFileUpload() throws IOException, MyException {
    String file = this.getClass().getResource("/tracker.conf").getFile();
    ClientGlobal.init(file);
    TrackerClient trackerClient=new TrackerClient();
    TrackerServer trackerServer=trackerClient.getConnection();
    StorageClient storageClient=new StorageClient(trackerServer,null);
    String orginalFilename="e://victor.jpg";
    String[] upload_file = storageClient.upload_file(orginalFilename, "jpg", null);
    for (int i = 0; i < upload_file.length; i++) {
        String s = upload_file[i];
        System.out.println("s = " + s);
    }

}

加入tracker.conf文件

tracker_server=192.168.67.162:22122

#連接超時時間,針對socket套接字函數connect,默認爲30秒
connect_timeout=30000

#網絡通訊超時時間,默認是60秒
network_timeout=60000

打印結果
在這裏插入圖片描述
這個打印結果實際上就是我們訪問的路徑,加上服務器地址我們可以拼接成一個字符串
http://192.168.67.163/group1/M00/00/00/wKhDo1qjU2qAWKQmAAATla901AQ534.jpg
直接放到瀏覽器去訪問
在這裏插入圖片描述上傳成功!

發佈了14 篇原創文章 · 獲贊 0 · 訪問量 153
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章