FastDFS搭建

一.介紹

技術(shù)論壇: http://bbs.chinaunix.net/forum-240-1.html
資源地址: https://sourceforge.net/projects/fastdfs/
源碼資源: https://github.com/happyfish100

FastDFS是一個(gè)開(kāi)源的輕量級(jí)分布式文件系統(tǒng),它對(duì)文件進(jìn)行管理,功能包括:文件存儲(chǔ)、文件同步、文件訪問(wèn)(文件上傳、文件下載)等,解決了大容量存儲(chǔ)和負(fù)載均衡的問(wèn)題。特別適合以文件為載體的在線服務(wù),如相冊(cè)網(wǎng)站、視頻網(wǎng)站等等。
FastDFS為互聯(lián)網(wǎng)量身定制,充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等機(jī)制,并注重高可用、高性能等指標(biāo),使用FastDFS很容易搭建一套高性能的文件服務(wù)器集群提供文件上傳、下載等服務(wù)。
FastDFS服務(wù)端有兩個(gè)角色:跟蹤器(tracker)和存儲(chǔ)節(jié)點(diǎn)(storage)。跟蹤器主要做調(diào)度工作,在訪問(wèn)上起負(fù)載均衡的作用。
存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)文件,完成文件管理的所有功能:就是這樣的存儲(chǔ)、同步和提供存取接口,F(xiàn)astDFS同時(shí)對(duì)文件的metadata進(jìn)行管理。所謂文件的meta data就是文件的相關(guān)屬性,以鍵值對(duì)(key value)方式表示,如:width=1024,其中的key為width,value為1024。文件metadata是文件屬性列表,可以包含多個(gè)鍵值對(duì)。
跟蹤器和存儲(chǔ)節(jié)點(diǎn)都可以由一臺(tái)或多臺(tái)服務(wù)器構(gòu)成。跟蹤器和存儲(chǔ)節(jié)點(diǎn)中的服務(wù)器均可以隨時(shí)增加或下線而不會(huì)影響線上服務(wù)。其中跟蹤器中的所有服務(wù)器都是對(duì)等的,可以根據(jù)服務(wù)器的壓力情況隨時(shí)增加或減少。
為了支持大容量,存儲(chǔ)節(jié)點(diǎn)(服務(wù)器)采用了分卷(或分組)的組織方式。存儲(chǔ)系統(tǒng)由一個(gè)或多個(gè)卷組成,卷與卷之間的文件是相互獨(dú)立的,所有卷的文件容量累加就是整個(gè)存儲(chǔ)系統(tǒng)中的文件容量。一個(gè)卷可以由一臺(tái)或多臺(tái)存儲(chǔ)服務(wù)器組成,一個(gè)卷下的存儲(chǔ)服務(wù)器中的文件都是相同的,卷中的多臺(tái)存儲(chǔ)服務(wù)器起到了冗余備份和負(fù)載均衡的作用。
在卷中增加服務(wù)器時(shí),同步已有的文件由系統(tǒng)自動(dòng)完成,同步完成后,系統(tǒng)自動(dòng)將新增服務(wù)器切換到線上提供服務(wù)。
當(dāng)存儲(chǔ)空間不足或即將耗盡時(shí),可以動(dòng)態(tài)添加卷。只需要增加一臺(tái)或多臺(tái)服務(wù)器,并將它們配置為一個(gè)新的卷,這樣就擴(kuò)大了存儲(chǔ)系統(tǒng)的容量。
FastDFS中的文件標(biāo)識(shí)分為兩個(gè)部分:卷名和文件名,二者缺一不可。

1.架構(gòu)與流程

架構(gòu)圖.jpg
上傳流程.jpg

client詢問(wèn)tracker上傳到的storage,不需要附加參數(shù);
tracker返回一臺(tái)可用的storage;
client直接和storage通訊完成文件上傳

下載流程.jpg

client詢問(wèn)tracker下載文件的storage,參數(shù)為文件標(biāo)識(shí)(組名和文件名);
tracker返回一臺(tái)可用的storage;
client直接和storage通訊完成文件下載。

2 FastDFS運(yùn)行時(shí)目錄結(jié)構(gòu)

2.1 Tracker Server目錄

${base_path}

|__data

|     |__storage_groups.dat:存儲(chǔ)分組信息

|     |__storage_servers.dat:存儲(chǔ)服務(wù)器列表

|__logs

      |__trackerd.log:tracker server日志文件

3.2 Storage Server目錄

|${base_path}

|__data

|     |__.data_init_flag:當(dāng)前storage server初始化信息

|     |__storage_stat.dat:當(dāng)前storage server統(tǒng)計(jì)信息

|     |__sync:存放數(shù)據(jù)同步相關(guān)文件

|     |     |__binlog.index:當(dāng)前的binlog文件索引號(hào)

|     |     |__binlog.###:存放更新操作記錄(日志)

|     |     |__${ip_addr}_${port}.mark:存放同步的完成情況

|     |

|     |__一級(jí)目錄:256個(gè)存放數(shù)據(jù)文件的目錄,如:00, 1F

|           |__二級(jí)目錄:256個(gè)存放數(shù)據(jù)文件的目錄

|__logs

      |__storaged.log:storage server日志文

一、 安裝

準(zhǔn)備兩個(gè)Linux服務(wù)器。兩個(gè)服務(wù)器分別作為tracker服務(wù)器(跟蹤服務(wù)器)和storage服務(wù)器(存儲(chǔ)服務(wù)器)。

Tracker服務(wù)器 : 192.168.52.100

Storage服務(wù)器 : 192.168.2.101

課上環(huán)境中,所有的安裝包都存放在/root/upload目錄中。解壓后的安裝包根據(jù)具體命令查看。(/usr/local/fastdfs)

1 核心安裝

Tracker Server 和 Storage Server完全一致的安裝。

安裝FastDFS 5.08版本

1.1 安裝FastDFS依賴

FastDFS是C語(yǔ)言開(kāi)發(fā)的應(yīng)用。安裝必須使用make、cmake和gcc編譯器。

yum install -y make cmake gcc gcc-c++

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

1.2 解壓FastDFS核心庫(kù)

libfastcommon是從FastDFS 和FastDHT 中提取出來(lái)的公共C函數(shù)庫(kù)

cd /root/upload

yum install zip unzip

unzip libfastcommon-master.zip -d /usr/local/fastdfs

1.3 進(jìn)入解壓后的目錄

cd /usr/local/fastdfs/libfastcommon-master

1.4 編譯安裝

libfastcommon沒(méi)有提供make命令安裝文件。使用的是shell腳本執(zhí)行編譯和安裝。shell腳本為make.sh

編譯

./make.sh

安裝

./make.sh install

有固定的默認(rèn)安裝位置。在/usr/lib64和/usr/include/fastcommon兩個(gè)目錄中。

1.5 創(chuàng)建軟連接

因?yàn)?FastDFS 主程序設(shè)置的 lib 目錄是/usr/local/lib,所以需要?jiǎng)?chuàng)建軟鏈接

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

1.6 解壓FastDFS主程序

本案例使用5.08版本FastDFS。

cd /root/upload

tar -zxf FastDFS_v5.08.tar.gz -C /usr/local/fastdfs

1.7 進(jìn)入FastDFS主程序源碼目錄

cd /usr/local/fastdfs/FastDFS

1.8 修改安裝路徑

此操作可選。在集群環(huán)境中使用默認(rèn)安裝路徑安裝。兩種安裝方式都嘗試一下。

vi /usr/local/fastdfs/FastDFS/make.sh

TARGET_PREFIX=DESTDIR/usr -> TARGET_PREFIX=DESTDIR/usr/local

1.9 編譯安裝

./make.sh

./make.sh install

安裝后,F(xiàn)astDFS主程序所在位置是:

/usr/local/bin - 可執(zhí)行文件所在位置。默認(rèn)安裝在/usr/bin中。

/etc/fdfs - 配置文件所在位置。就是默認(rèn)位置。

/usr/local/lib64 - 主程序代碼所在位置。默認(rèn)在/usr/bin中。

/usr/local/include/fastdfs - 包含的一些插件組所在位置。默認(rèn)在/usr/include/fastdfs中。

1.10FastDFS安裝后資源簡(jiǎn)介

1.10.1 服務(wù)腳本

/etc/init.d/目錄中,腳本文件是 - fdfs-storaged和fdfs-trackerd

ls /etc/init.d/ | grep fdfs

1.10.2 配置文件模板

/etc/fdfs/目錄中,配置文件是 - client.conf.sample、storage.conf.sample和tracker.conf.sample

ls /etc/fdfs/

tracker.conf.sample - 跟蹤器服務(wù)配置文件模板

storage.conf.sample - 存儲(chǔ)服務(wù)器配置文件模板

client.conf.sample - FastDFS提供的命令行客戶端配置文件模板。可以通過(guò)命令行測(cè)試FastDFS有效性。

1.10.3 內(nèi)置命令

/usr/local/bin/目錄中。命令有若干。可通過(guò)命令在控制臺(tái)訪問(wèn)FastDFS。

ls /usr/local/bin/ | grep fdfs

以上為通用安裝,F(xiàn)astDFS的跟蹤服務(wù)和存儲(chǔ)服務(wù)是通過(guò)配置實(shí)現(xiàn)的。后續(xù)內(nèi)容為跟蹤服務(wù)和存儲(chǔ)服務(wù)的具體配置。

2 tracker基礎(chǔ)配置

只在tracker server節(jié)點(diǎn)中配置。192.168.52.100

2.1 創(chuàng)建跟蹤服務(wù)配置文件

FastDFS提供了配置文件模板,可以根據(jù)模板創(chuàng)建需要使用的配置文件。

cd /etc/fdfs

cp tracker.conf.sample tracker.conf

2.2 修改配置文件

tracker.conf配置文件用于描述跟蹤服務(wù)的行為,需要進(jìn)行下述修改:

vi /etc/fdfs/tracker.conf

port=22122 # 默認(rèn)服務(wù)端口

base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/tracker(自定義目錄)

base_path是FastDFSTracker啟動(dòng)后使用的根目錄。也就是data和logs所在位置。

2.3 創(chuàng)建自定義目錄

為配置文件中定義的base_path變量創(chuàng)建對(duì)應(yīng)的目錄。

mkdir -p /fastdfs/tracker

2.4 修改啟動(dòng)服務(wù)腳本

vi /etc/init.d/fdfs_trackerd

將 PRG=/usr/bin/fdfs_trackerd 修改為 PRG=/usr/local/bin/fdfs_trackerd

2.5 啟動(dòng)服務(wù)

/etc/init.d/fdfs_trackerd start

啟動(dòng)成功后,配置文件中base_path指向的目錄中出現(xiàn)FastDFS服務(wù)相關(guān)數(shù)據(jù)目錄(data目錄、logs目錄)

2.6 查看服務(wù)狀態(tài)

/etc/init.d/fdfs_trackerd status

ps aux | grep fdfs

2.7 停止服務(wù)

/etc/init.d/fdfs_trackerd stop

2.8 重啟服務(wù)

/etc/init.d/fdfs_trackerd restart

2.9 設(shè)置開(kāi)啟自啟

vi /etc/rc.d/rc.local

新增內(nèi)容 - /etc/init.d/fdfs_trackerd start

3 storage基礎(chǔ)配置

只在storage server中配置。192.168.2.100

3.1 創(chuàng)建存儲(chǔ)服務(wù)配置文件

FastDFS提供了配置文件模板,可以根據(jù)模板創(chuàng)建需要使用的配置文件。

cd /etc/fdfs

cp storage.conf.sample storage.conf

3.2 修改配置文件

storage.conf配置文件用于描述存儲(chǔ)服務(wù)的行為,需要進(jìn)行下述修改:

vi /etc/fdfs/storage.conf

base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/storage/base (自定義目錄)

store_path0=/home/yuqing/fastdfs -> store_path0=/fastdfs/storage/store(自定義目錄)

tracker_server=192.168.52.100:22122 -> tracker_server=tracker服務(wù)IP:22122

base_path - 基礎(chǔ)路徑。用于保存storage server基礎(chǔ)數(shù)據(jù)內(nèi)容和日志內(nèi)容的目錄。

store_path0 - 存儲(chǔ)路徑。是用于保存FastDFS中存儲(chǔ)文件的目錄,就是要?jiǎng)?chuàng)建256*256個(gè)子目錄的位置。

base_path和store_path0可以使用同一個(gè)目錄。

tracker_server - 跟蹤服務(wù)器位置。就是跟蹤服務(wù)器的ip和端口。

3.3 創(chuàng)建自定義目錄

mkdir -p /fastdfs/storage/base

mkdir -p /fastdfs/storage/store

3.4 修改服務(wù)腳本

vi /etc/init.d/fdfs_storaged

將PRG=/usr/bin/fdfs_storaged 修改為PRG=/usr/local/bin/fdfs_storaged

3.5 啟動(dòng)服務(wù)(要求tracker服務(wù)必須已啟動(dòng))

/etc/init.d/fdfs_storaged start

啟動(dòng)成功后,配置文件中base_path指向的目錄中出現(xiàn)FastDFS服務(wù)相關(guān)數(shù)據(jù)目錄(data目錄、logs目錄),配置文件中的store_path0指向的目錄中同樣出現(xiàn)FastDFS存儲(chǔ)相關(guān)數(shù)據(jù)錄(data目錄)。其中$store_path0/data/目錄中默認(rèn)創(chuàng)建若干子孫目錄(兩級(jí)目錄層級(jí)總計(jì)256*256個(gè)目錄),是用于存儲(chǔ)具體文件數(shù)據(jù)的。

Storage服務(wù)器啟動(dòng)比較慢,因?yàn)榈谝淮螁?dòng)的時(shí)候,需要?jiǎng)?chuàng)建256*256個(gè)目錄。

3.6 查看服務(wù)狀態(tài)

/etc/init.d/fdfs_storaged status

ps aux | grep fdfs

3.7 停止服務(wù)

/etc/init.d/fdfs_storaged stop

3.8 重啟服務(wù)

/etc/init.d/fdfs_storaged restart

3.9 設(shè)置開(kāi)機(jī)自啟

vi /etc/rc.d/rc.local

新增內(nèi)容 - /etc/init.d/fdfs_storaged start

因啟動(dòng)前提為tracker服務(wù)必須已啟動(dòng),不推薦開(kāi)啟自啟。

4 客戶端基礎(chǔ)配置

不是必須的。就是用于使用命令行測(cè)試FastDFS才需要配置的。

4.1 創(chuàng)建客戶端配置文件

在tracker服務(wù)結(jié)點(diǎn)所在服務(wù)器中配置客戶端。同樣通過(guò)配置文件模板創(chuàng)建對(duì)應(yīng)配置文件。

cd /etc/fdfs

cp client.conf.sample client.conf

4.2 修改配置文件

client.conf配置文件中主要描述客戶端的行為,需要進(jìn)行下述修改:

vi /etc/fdfs/client.conf

base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/client (自定義目錄)

tracker_server=192.168.52.100:22122 -> tracker_server=tracker服務(wù)IP:22122

base_path - 就是客戶端命令行執(zhí)行過(guò)程時(shí)臨時(shí)數(shù)據(jù)存儲(chǔ)位置。

4.3 創(chuàng)建自定義目錄

mkdir -p /fastdfs/client

5 控制臺(tái)測(cè)試FastDFS

命令所在: /usr/local/bin目錄。 (如果在安裝FastDFS過(guò)程中,沒(méi)有修改make.sh文件中的TARGET_PREFIX屬性值,命令所在為/usr/bin目錄)

5.1 上傳文件

/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /要上傳的文件

上傳結(jié)束后,返回group1/M00/00/00/xxxxxxxxxx.xxx,檢查storage服務(wù)結(jié)點(diǎn)中的store_path0/data/00/00/目錄中是否有上傳的文件(一般情況上傳的文件按順序保存在store_path0/data/00/00/目錄中,不能完全保證)。

課上測(cè)試的上傳文件結(jié)果:group1/M00/00/00/wKgCbltTYaeACDWgAAVCLEPUQWI.tar.gz

卷名 : group1

文件名 : M00/00/00/wKgCbltTYaeACDWgAAVCLEPUQWI.tar.gz

其中M00是一個(gè)虛擬目錄,相當(dāng)于windows中的快捷方式,引用的是$store_path0/data目錄。

5.2 刪除文件

/usr/local/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/xxxxxxx.xxx

刪除結(jié)束后,檢查$store_path0/data/00/00/目錄中是否還有文件。

6 安裝Nginx組件

如果FastDFS中保存的是圖片信息。希望在WEB應(yīng)用中可以直接訪問(wèn)FastDFS中的圖片進(jìn)行顯示。如果操作?

安裝Nginx是為了WEB應(yīng)用中可以使用HTTP協(xié)議直接訪問(wèn)Storage服務(wù)中存儲(chǔ)的文件。在#storage結(jié)點(diǎn)#所在服務(wù)器安裝Nginx組件。

需要安裝兩部分內(nèi)容。

Nginx應(yīng)用,在安裝nginx應(yīng)用的時(shí)候,同時(shí)要在nginx中增加一個(gè)FastDFS的組件。Module。

6.1 解壓fastdfs-nginx-module_v1.16.tar.gz

tar -zxf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fastdfs

6.2 修改fastdfs-nginx-module_v1.16.tar.gz源文件中的配置

此操作必須修改,否則Nginx編譯會(huì)報(bào)錯(cuò)。

cd /usr/local/fastdfs/fastdfs-nginx-module/src

vi /usr/local/fastdfs/fastdfs-nginx-module/src/config

參數(shù)是用于配置安裝nginx中的FastDFS組件的時(shí)候,在什么位置查找FastDFS核心代碼。

源數(shù)據(jù):

ngx_addon_name=ngx_http_fastdfs_module

HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"

NGX_ADDON_SRCS="NGX_ADDON_SRCSngx_addon_dir/ngx_http_fastdfs_module.c"

CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"

CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"

CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'"

|

修改后內(nèi)容:(如果安裝FastDFS時(shí),沒(méi)有修改make.sh文件,則改為:CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/")

|

ngx_addon_name=ngx_http_fastdfs_module

HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"

NGX_ADDON_SRCS="NGX_ADDON_SRCSngx_addon_dir/ngx_http_fastdfs_module.c"

CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/include/fastcommon/"

CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"

CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'"

|

6.3 安裝Nginx

6.3.1 安裝Nginx需要的依賴

yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

6.3.3 解壓Nginx

tar -zxf nginx-1.8.0.tar.gz -C /usr/local/fastdfs/

6.3.4 進(jìn)入Nginx源碼目錄

cd /usr/local/fastdfs/nginx-1.8.0/

6.3.5 配置Nginx安裝信息

./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/fastdfs-nginx-module/src

--add-module必須定義,此配置信息是用于指定安裝Nginx時(shí)需要加載的模塊,如果未指定,Nginx安裝過(guò)程不會(huì)加載fastdfs-nginx-module模塊,后續(xù)功能無(wú)法實(shí)現(xiàn)。

6.3.6 創(chuàng)建目錄

Nginx運(yùn)行時(shí)需要?jiǎng)?chuàng)建若干臨時(shí)文件,如果默認(rèn)安裝不需創(chuàng)建此目錄。

mkdir -p /var/temp/nginx

6.3.7 編譯安裝

make

make install

6.3.8 配置fastdfs-nginx-module模塊配置文件

復(fù)制配置文件/usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf到/etc/fdfs目錄中

cp /usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

cd /etc/fdfs/

修改配置文件mod_fastdfs.conf

vi mod_fastdfs.conf

源配置:

connect_timeout=2 #連接超時(shí)時(shí)間,單位秒

tracker_server=tracker:22122 #tracker服務(wù)結(jié)點(diǎn)

url_have_group_name = false #URL中是否包含group名稱

store_path0=/home/yuqing/fastdfs # storage服務(wù)結(jié)點(diǎn)的存儲(chǔ)位置,與配置storage結(jié)點(diǎn)一致

|

參考修改值:

|

connect_timeout=10

tracker_server=192.168.2.109:22122

url_have_group_name = true

store_path0=/fastdfs/storage/store

|

6.3.9 提供FastDFS需要的HTTP配置文件

復(fù)制FastDFS安裝包中的兩個(gè)配置文件(http.conf和mime.types)到/etc/fdfs目錄中

cp /usr/local/fastdfs/FastDFS/conf/http.conf /etc/fdfs/

cp /usr/local/fastdfs/FastDFS/conf/mime.types /etc/fdfs/

6.3.10 創(chuàng)建nginx啟動(dòng)需要的軟連接

創(chuàng)建軟連接

ln -s /usr/local/lib64/libfdfsclient.so /usr/lib64/libfdfsclient.so

nginx啟動(dòng)后,會(huì)在默認(rèn)的/usr/lib64目錄中查找需要的so文件。如果在安裝FastDFS時(shí),修改了make.sh文件中的TARGET_PREFIX參數(shù),則必須創(chuàng)建此軟連接

6.3.11 創(chuàng)建網(wǎng)絡(luò)訪問(wèn)存儲(chǔ)服務(wù)的軟連接

ln -s /fastdfs/storage/store/data/ /fastdfs/storage/store/data/M00

在上傳文件到FastDFS后,F(xiàn)astDFS會(huì)返回group1/M00/00/00/xxxxxxxxxx.xxx。其中g(shù)roup1是卷名,在mod_fastdfs.conf配置文件中已配置了url_have_group_name,以保證URL解析正確。而其中的M00是FastDFS保存數(shù)據(jù)時(shí)使用的虛擬目錄,需要將這個(gè)虛擬目錄定位到真實(shí)數(shù)據(jù)目錄上。

6.3.12 修改nginx配置文件

cd /usr/local/nginx/conf

vi nginx.conf

參考修改配置:(部分配置信息,不要完整復(fù)制)

|

user root; # Nginx需要訪問(wèn)linux文件系統(tǒng),必須有文件系統(tǒng)的權(quán)限。User root代表nginx訪問(wèn)文件系統(tǒng)的權(quán)限是root用戶權(quán)限。如果不開(kāi)啟權(quán)限,可能有404訪問(wèn)錯(cuò)誤。

server{

listen 8888; # storage配置中,有http.server_port=8888的配置信息,必須一致。配置文件是/etc/fdfs/storaged.conf

server_name localhost;

location ~/group([0-9])/M00{

ngx_fastdfs_module;

}

}

|

6.3.13 測(cè)試WEB訪問(wèn)存儲(chǔ)服務(wù)中的文件

使用瀏覽器查看FastDFS中保存的文件:

http://ip:8888/group1/M00/00/00/xxxxxxx.xxx

測(cè)試上傳的文件: group1/M00/00/00/wKgCbltTmv-ASTG2AAAmTx4ns0s172.jpg

測(cè)試WEB訪問(wèn)地址:

http://192.168.52.101:8888/group1/M00/00/00/wKgCbltTmv-ASTG2AAAmTx4ns0s172.jpg

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容