溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng):Centos7下搭建Nginx和FastDFS文件管理中間件

發(fā)布時(shí)間:2020-06-28 08:23:07 來(lái)源:網(wǎng)絡(luò) 閱讀:192 作者:知了一笑 欄目:系統(tǒng)運(yùn)維

本文源碼:GitHub·點(diǎn)這里 || GitEE·點(diǎn)這里

一、FastDFS簡(jiǎn)介

1、基礎(chǔ)概念

FastDFS是一個(gè)開(kāi)源的輕量級(jí)分布式文件系統(tǒng),它對(duì)文件進(jìn)行管理,功能包括:文件存儲(chǔ)、文件同步、文件上傳、文件下載等,解決了大容量存儲(chǔ)和負(fù)載均衡的問(wèn)題。

2、環(huán)境概覽

1、默認(rèn)存在Gcc編譯環(huán)境,Centos7虛擬機(jī)
2、安裝LibFastCommon環(huán)境
3、FastDFS中間件安裝
4、Nginx代理服務(wù)器安裝

二、安裝LibFastCommon

核心流程

下載->解壓->編譯->安裝

## 下載
[root@localhost mysoft]# wget
https://github.com/happyfish200/libfastcommon/archive/V1.0.38.tar.gz
## 解壓
[root@localhost mysoft]# tar -zxvf V1.0.38.tar.gz
[root@localhost mysoft]# cd libfastcommon-1.0.38/
## 編譯
[root@localhost libfastcommon-1.0.38]# ./make.sh
## 安裝
[root@localhost libfastcommon-1.0.38]# ./make.sh install

三、安裝FastDFS

流程:下載->解壓->編譯->安裝->創(chuàng)建相關(guān)路徑->配置跟蹤器->
配置數(shù)據(jù)存儲(chǔ)->配置客戶端->Nginx環(huán)境配置

1、基礎(chǔ)安裝步驟

## 下載
[root@localhost mysoft]# wget
https://github.com/happyfish200/fastdfs/archive/V5.11.tar.gz
## 解壓
[root@localhost mysoft]# tar -zxvf V5.11.tar.gz 
## 編譯
[root@localhost mysoft]# cd fastdfs-5.11/
[root@localhost fastdfs-5.11]# ./make.sh 
## 安裝
[root@localhost fastdfs-5.11]# ./make.sh install

2、創(chuàng)建相關(guān)路徑

用處后續(xù)說(shuō)明。

[root@localhost data]# mkdir -p /data/fastdfs/log
[root@localhost data]# mkdir -p /data/fastdfs/data
[root@localhost data]# mkdir -p /data/fastdfs/tracker
[root@localhost data]# mkdir -p /data/fastdfs/client

3、配置跟蹤器

Tracker -- >> 跟蹤器

1)查看配置文件

注意這里目錄的轉(zhuǎn)換,這里給的是樣例,具體的配置還要自己動(dòng)手。

[root@localhost fastdfs-5.11]# cd /etc/fdfs/
[root@localhost fdfs]# ll
total 24
client.conf.sample
storage.conf.sample
storage_ids.conf.sample
tracker.conf.sample

2)配置tracker.conf文件

[root@localhost fdfs]# cp tracker.conf.sample tracker.conf
[root@localhost fdfs]# vim tracker.conf
## 關(guān)注如下幾個(gè)配置
## 存儲(chǔ)數(shù)據(jù)和日志文件的基本路徑
base_path=/data/fastdfs/tracker
## Http服務(wù)端口
http.server_port=80
## 默認(rèn)提供服務(wù)端口
port=22122

3)啟動(dòng)跟蹤器

## 啟動(dòng)
[root@localhost fdfs]# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
## 查看狀態(tài)
[root@localhost fdfs]# netstat -apn|grep fdfs

4、配置數(shù)據(jù)存儲(chǔ)

1)查看配置文件

[root@localhost fastdfs-5.11]# cd /etc/fdfs/
[root@localhost fdfs]# ll
storage.conf.sample

2)配置storage.conf文件

[root@localhost fdfs]# cp storage.conf.sample storage.conf
[root@localhost fdfs]# vim storage.conf
## 關(guān)注如下幾個(gè)配置
## storage存儲(chǔ)data和log的跟路徑
base_path=/data/fastdfs/data
## 默認(rèn)組名
group_name=group1
## 默認(rèn)端口,相同組的storage端口號(hào)必須一致
port=23000
## 配置一個(gè)存儲(chǔ)路徑
store_path_count=1
store_path0=/data/fastdfs/data
## 配置跟蹤器IP和端口
tracker_server=192.168.72.130:22122

3)啟動(dòng)存儲(chǔ)服務(wù)

## 啟動(dòng)
[root@localhost fdfs]# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
## 查看進(jìn)程
[root@localhost fdfs]# netstat -apn|grep fdfs
tcp 0:22122  LISTEN      4845/fdfs_trackerd  
tcp 0:45422  SYN_SENT    5410/fdfs_storaged
## 查看啟動(dòng)日志
[root@localhost fdfs]# tail -f /data/fastdfs/data/logs/storaged.log
## 日志展示:?jiǎn)闻_(tái)FastDFS安裝成功
set tracker leader: 192.168.72.130:22122
## 查看Storage和Tracker是否在通信
[root@localhost fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
Storage 1:
    id = 192.168.72.130
    ip_addr = 192.168.72.130 (localhost.localdomain)  ACTIVE

5、配置客戶端測(cè)試

1)查看配置文件

[root@localhost /]# cd /etc/fdfs
[root@localhost fdfs]# ll
total 40
client.conf.sample

2)配置client.conf文件

[root@localhost fdfs]# cp client.conf.sample client.conf
[root@localhost fdfs]# vim client.conf
## 關(guān)注如下幾個(gè)配置
## client數(shù)據(jù)和日志目錄
base_path=/data/fastdfs/client
## 配置跟蹤器IP和端口
tracker_server=192.168.72.130:22122

3)客戶端測(cè)試

調(diào)用客戶端文件上傳命令

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf

返回文件上傳的相對(duì)路徑和編號(hào)

group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/img/img1.jpg 
group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

這樣FastDFS單臺(tái)環(huán)境就安裝好了,步驟有點(diǎn)繁雜,不過(guò)這就是生活。

文件成功上傳storage服務(wù)器,但是還無(wú)法查看下載。需要安裝Nginx服務(wù)器用來(lái)支持Http方式訪問(wèn)文件。

四、安裝Nginx

1、下載解壓Nginx

## 下載nginx
[root@localhost mysoft]# wget 
http://nginx.org/download/nginx-1.15.2.tar.gz
## 解壓nginx
[root@localhost mysoft]# tar -zxvf nginx-1.15.2.tar.gz

2、下載解壓Fast-Nginx

## 下載fastdfs-nginx
[root@localhost mysoft]#wget 
https://github.com/happyfish200/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
## 解壓fastdfs-nginx
[root@localhost mysoft]# mv 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip fast-nginx.zip
[root@localhost mysoft]# unzip fast-nginx.zip
[root@localhost mysoft]# mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1/ 
fastdfs-nginx-module

3、安裝必須依賴

## pcre-devel 環(huán)境
[root@localhost nginx-1.15.2]# yum install -y pcre pcre-devel
## zlib-devel 環(huán)境
[root@localhost nginx-1.15.2]# yum install -y zlib zlib-devel
## openssl-devel 環(huán)境
[root@localhost nginx-1.15.2]# yum install -y openssl openssl-devel

4、配置安裝

[root@localhost nginx-1.15.2]# ./configure --add-module=/usr/local/mysoft/fastdfs-nginx-module/src
[root@localhost nginx-1.15.2]# make && make install

5、錯(cuò)誤解決

版本問(wèn)題導(dǎo)致,F(xiàn)ast-Nginx必須使用這個(gè)修復(fù)版本。

https://github.com/happyfish200/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip

make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory `/usr/local/mysoft/nginx-1.15.2'
make: *** [build] Error 2

6、查看安裝結(jié)果

如下情況則表示安裝成功了。

[root@localhost nginx-1.15.2]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
configure arguments: --add-module=/usr/local/mysoft/fastdfs-nginx-module/src

五、測(cè)試圖片訪問(wèn)

1、配置客戶端

## 移動(dòng)配置文件
[root@localhost src]# pwd
/usr/local/mysoft/fastdfs-nginx-module/src
[root@localhost src]# ll
total 76
Apr 14  2017 mod_fastdfs.conf
[root@localhost src]# cp mod_fastdfs.conf /etc/fdfs/
[root@localhost fdfs]# pwd
/etc/fdfs
[root@localhost fdfs]# vim mod_fastdfs.conf 
## 調(diào)整如下配置
## 鏈接超時(shí)
connect_timeout=20
## 配置跟蹤器IP和端口
tracker_server=192.168.72.130:22122
## 路徑包含group
url_have_group_name = true
# 必須和storage配置相同
store_path0=/data/fastdfs/data

2、完善FastDFS配置

[root@localhost fdfs]# cd /usr/local/mysoft/fastdfs-5.11/conf/
[root@localhost conf]# cp anti-steal.jpg http.conf mime.types /etc/fdfs/

3、配置Nginx

在Nginx的80服務(wù)端口下添加如下配置。注意這里的路徑是Nginx安裝自動(dòng)生成的路徑。

[root@localhost nginx]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf
server {
    listen       80;

    location ~/group([0-9])/M00 {
        root /data/fastdfs/data;
        ngx_fastdfs_module;
    }
}

查看配置結(jié)果

[root@localhost conf]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
configure arguments: --add-module=/usr/local/mysoft/fastdfs-nginx-module/src

這樣就配置成功了。

4、見(jiàn)證結(jié)束的時(shí)候

啟動(dòng)Nginx服務(wù)。

## 啟動(dòng)
/usr/local/nginx/sbin/nginx
## 停止
/usr/local/nginx/sbin/nginx -s stop
## 重啟
/usr/local/nginx/sbin/nginx -s reload

5、訪問(wèn)上傳圖片

很神奇,居然成功了。

http://192.168.72.130
/group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

六、源代碼地址

GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base

Linux系統(tǒng):Centos7下搭建Nginx和FastDFS文件管理中間件

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI