【FastDFS-V5.11】Linux下FastDFS+Nginx實現分佈式圖片服務器搭建詳細教程(單機模式)

前言

在上一篇文章中,完成了 《 FastDFS分佈式文件系統內部架構及原理解析 》,本篇主要進行實踐操作,使用的FastDFS版本爲【V5.11】當前最新的版本,在Linux下使用FastDFS + Nginx搭建一個單機的分佈式圖片服務器,通過本篇博客的學習和實踐,將掌握如何在Linux系統中利用FastDFS + Nginx 進行分佈式圖片服務器的搭建。

 

Linux下FastDFS+Nginx實現分佈式圖片服務器搭建詳細教程

1、系統軟件版本

Linux 版本:V7.5

FastDFS 版本:V5.11

Nginx 版本:V1.17.1

 

2、所需安裝包的下載

博主準備好的包:Linux下FastDFS分佈式文件服務器搭建所需的包

當然你的網絡環境比較好的情況下,可以自行去下載: https://sourceforge.net/ 

 

3、先看基本架構圖

 

4、FastDFS -> Tracker Server 安裝與配置

1)、安裝FastDFS依賴的環境

因爲 FastDFS 是 C 語言開發的,一般建議在 Linux 上運行,本教程使用 Centos7.5作爲安裝環境。在裝 FastDFS 前,還需要將官網下載的源碼進行編譯,準備編譯依賴的環境及一些安裝過程中使用到的工具,直接執行如下命令即可:

yum install -y git \
pcre pcre-devel openssl \
libevent libevent-devel \
perl unzip net-tools \
autoconf libtool vim \
zlib zlib-devel \
make automake \
openssl-devel \
gcc gcc-c++ \
wget

 

2)、安裝 libfastcommon

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運行所需要的一些基礎庫。下載好libfastcommon後,上傳到Linux服務器,輸入命令 “ tar -zxvf libfastcommon-1.0.39.tar.gz” 解壓,解壓後會得到一個 “ libfastcommon-1.0.39 ” 的包,如下圖:

然後進入到 “ libfastcommon-1.0.39 ” 目錄下,進行編譯與安裝,輸入命令 “ ./make.sh ” 再 “ ./make.sh install ”,或者直接 “ ./make.sh && ./make.sh install ”內容如下:

[root@localhost software]# cd libfastcommon-1.0.39
[root@localhost libfastcommon-1.0.39]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o hash.o hash.c  
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o chain.o chain.c  
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o shared_func.o shared_func.c  
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o ini_file_reader.o ini_file_reader.c  
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o logger.o logger.c  
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o sockopt.o sockopt.c

>>>省略n行

[root@localhost libfastcommon-1.0.39]# ./make.sh install
mkdir -p /usr/lib64
mkdir -p /usr/lib
mkdir -p /usr/include/fastcommon
install -m 755 libfastcommon.so /usr/lib64
install -m 644 common_define.h hash.h chain.h logger.h base64.h shared_func.h pthread_func.h ini_file_reader.h _os_define.h sockopt.h sched_thread.h http_func.h md5.h local_ip_func.h avl_tree.h ioevent.h ioevent_loop.h fast_task_queue.h fast_timer.h process_ctrl.h fast_mblock.h connection_pool.h fast_mpool.h fast_allocator.h fast_buffer.h skiplist.h multi_skiplist.h flat_skiplist.h skiplist_common.h system_info.h fast_blocked_queue.h php7_ext_wrapper.h id_generator.h char_converter.h char_convert_loader.h common_blocked_queue.h multi_socket_client.h skiplist_set.h fc_list.h /usr/include/fastcommon
if [ ! -e /usr/lib/libfastcommon.so ]; then ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so; fi

如果沒有報錯就OK咯!!!

 

3)、編譯安裝 Tracker Server

將下載好的 “ fastdfs-5.11.tar.gz ” 上傳到Linux服務器上,並輸入命令 “ tar -zxvf fastdfs-5.11.tar.gz ” 解壓,解壓後等到一個 “ fastdfs-5.11 ” 的包,如下圖:

然後進入到 “ fastdfs-5.11 ” 目錄下,進行編譯與安裝,輸入命令 “ ./make.sh ” 再 “ ./make.sh install ”,或者直接 “ ./make.sh && ./make.sh install ”內容如下:

[root@localhost software]# cd fastdfs-5.11
[root@localhost fastdfs-5.11]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o ../common/fdfs_global.o ../common/fdfs_global.c  -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_proto.o tracker_proto.c  -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_mem.o tracker_mem.c  -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_service.o tracker_service.c  -I../common -I/usr/include/fastcommon

>>> 省略n行

[root@localhost fastdfs-5.11]# ./make.sh install
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_trackerd /usr/bin
if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
if [ ! -f /etc/fdfs/storage_ids.conf.sample ]; then cp -f ../conf/storage_ids.conf /etc/fdfs/storage_ids.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_storaged  /usr/bin
if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
mkdir -p /usr/lib
cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib/;fi
if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib/;fi
mkdir -p /usr/include/fastdfs
cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs
if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi

如果沒有報錯就OK咯!!!

如上,當FastDFS安裝成功後,進入到當前目錄下的 conf 目錄中,並將所有配置文件複製到 “ /etc/fdfs/ ” 目錄下,輸入命令 “ cp -rf * /etc/fdfs/ ”,如下圖:

4)、配置 Tracker Server

進入到 “ /etc/fdfs/ ”,目錄下找到 “ tracker.conf ”,進行編輯,根據實際的業務需求進行配置,比如可以配置:協議、連接超時時長、最大連接數、工作線程等等,這兒修改幾個主要的參數即可,默認參數如下:

# HTTP port on this tracker server
http.server_port=8080
# the tracker server port
port=22122
# is this config file disabled
# false for enabled
# true for disabled
disabled=false
# the base path to store data and log files
base_path=/home/yuqing/fastdfs
# bind an address of this host
# empty for bind all addresses of this host
bind_addr=

修改後的(其中目錄自行創建):

# 默認配置
disabled=false
# 避免端口衝突,修改默認端口
http.server_port=8080
port=22122
# Tracker的數據和日誌的存儲目錄
base_path=/home/huazai/fastdfs/tracker_server
# 綁定 Tracker Server IP 地址
bind_addr=192.168.136.141

 

5)、啓動 Tracker Server

啓動Tracker Server直接輸入命令 “ /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start/restart/stop ” ,如果啓動沒有報錯,進入配置的base_path目錄下,如果啓動成功會生成日誌和數據存放的目錄,如下圖:

配置Tracker Server開機啓動,直接將上面的啓動命令,加入到系統的啓動配置文件中即可,如下圖:

然後在賦予 “ rc.local ” 執行的權限,輸入命令 “ chmod +x /etc/rc.d/rc.local  ” 即可。

 

5、FastDFS -> Storage Server 安裝與配置

1)、安裝FastDFS依賴的環境

同上》》》

2)、安裝 libfastcommon

同上》》》

3)、編譯安裝 Storage Server

將下載好的 “ fastdfs-5.11.tar.gz ” 上傳到Linux服務器上,並輸入命令 “ tar -zxvf fastdfs-5.11.tar.gz ” 解壓,解壓後等到一個 “ fastdfs-5.11 ” 的包,如下圖:

然後進入到 “ fastdfs-5.11 ” 目錄下,進行編譯與安裝,輸入命令 “ ./make.sh ” 再 “ ./make.sh install ”,或者直接 “ ./make.sh && ./make.sh install ”內容如下:

[root@localhost software]# cd fastdfs-5.11
[root@localhost fastdfs-5.11]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o ../common/fdfs_global.o ../common/fdfs_global.c  -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_proto.o tracker_proto.c  -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_mem.o tracker_mem.c  -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_service.o tracker_service.c  -I../common -I/usr/include/fastcommon

>>> 省略n行

[root@localhost fastdfs-5.11]# ./make.sh install
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_trackerd /usr/bin
if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
if [ ! -f /etc/fdfs/storage_ids.conf.sample ]; then cp -f ../conf/storage_ids.conf /etc/fdfs/storage_ids.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_storaged  /usr/bin
if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
mkdir -p /usr/lib
cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib/;fi
if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib/;fi
mkdir -p /usr/include/fastdfs
cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs
if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi

如果沒有報錯就OK咯!!!

如上,當FastDFS安裝成功後,進入到當前目錄下的 conf 目錄中,並將所有配置文件複製到 “ /etc/fdfs/ ” 目錄下,輸入命令 “ cp -rf * /etc/fdfs/ ”,如下圖:

4)、配置 Storage Server

進入到 “ /etc/fdfs/ ”,目錄下找到 “ storage.conf ”,進行編輯,根據實際的業務需求進行配置,比如可以配置:自定義分組名稱、客戶端綁定、Storage Server 端口號、連接超時、最大連接數、緩存區大小、工作線程等等,這兒修改幾個主要的參數即可,默認參數如下:

# the name of the group this storage server belongs to
#
# comment or remove this item for fetching from tracker server,
# in this case, use_storage_id must set to true in tracker.conf,
# and storage_ids.conf must be configed correctly.
group_name=group1
# bind an address of this host
# empty for bind all addresses of this host
bind_addr=
# the storage server port
port=23000
# the base path to store data and log files
base_path=/home/yuqing/fastdfs
# path(disk or mount point) count, default value is 1
store_path_count=1
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/yuqing/fastdfs
# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
tracker_server=192.168.209.121:22122
# the port of the web server on this storage server
http.server_port=8888

修改後的(其中目錄自行創建):

# 此存儲服務器所屬的組的名稱
group_name=group1
# 綁定此主機的地址
bind_addr=192.168.136.142
# 避免端口號衝突,修改存儲服務器端口號和此存儲服務器上web服務器的端口
# 注意:設置storage的端口號,默認是23000,但是在同一個組的storage端口號必須一致
port=23000
http.server_port=8888
# 存儲數據和日誌文件的基礎路徑
base_path=/home/huazai/fastdfs/storage_server
# 存儲路徑(多個磁盤/掛載的其它磁盤)個數,需要和store_path個數匹配,默認值爲1個磁盤路徑
store_path_count=1
# 實際的文件存儲路徑(store_path#,基於0,如果store_path0不存在,則它的值爲base_path)
store_path0=/home/huazai/fastdfs/storage_server/store_01
# tracker_server可以多次調用,而tracker_server格式爲:Host:Port,主機可以是主機名或ip地址
tracker_server=192.168.136.141:22122

爲什麼要在Storage_server中配置Tracker_server?

如果還有不知道的,請不要着急往下看了,請仔細閱讀前一章節的《 FastDFS分佈式文件系統內部架構及原理解析 》穩紮穩打是關鍵!!!

 

5)、啓動 Storage Server

啓動Storage Server直接輸入命令 “ /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start/restart/stop ” ,如果啓動沒有報錯,進入配置的base_path目錄下,如果啓動成功會生成日誌和數據存放的目錄,如下圖:

配置Storage Server開機啓動,直接將上面的啓動命令,加入到系統的啓動配置文件中即可,如下圖:

然後在賦予 “ rc.local ” 執行的權限,輸入命令 “ chmod +x /etc/rc.d/rc.local  ” 即可。

 

6、檢測FastDFS是否正確安裝

在前面的文章已經瞭解,Storage Server 需要將自己的狀態信息上傳到Tracker Server,最後客戶端纔可以將文件上傳並存儲到 Storage Server中,所以這兒就需要通過FastDFS提供的監控程序 “ fdfs_monitor ” 來查看Storage Server 的狀態信息是否上傳成功,輸入命令 “ /usr/bin/fdfs_monitor /etc/fdfs/storage.conf ” ,如果出現  “ ip_addr = 192.168.136.142 (localhost.localdomain)  ACTIVE ”,則說明FastDFS安裝是正確的,內容如下:

[root@localhost logs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2019-07-07 03:50:01] DEBUG - base_path=/home/huazai/fastdfs/storage_server, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 192.168.136.141:22121

group count: 1

Group 1:
group name = group1
disk total space = 17394 MB
disk free space = 16110 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23001
storage HTTP port = 7070
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

	Storage 1:
		id = 192.168.136.142
		ip_addr = 192.168.136.142 (localhost.localdomain)  ACTIVE
		http domain = 
		version = 5.11
		join time = 2019-07-06 11:53:20
		up time = 2019-07-07 03:41:33
		total storage = 17394 MB
		free storage = 16110 MB
		upload priority = 10
		store_path_count = 1

>>> 省略n行

看看FastDFS提供常用的程序有如下圖(根據其名稱就知道時幹啥的了,就不一一做介紹了):

 

7、測試基於FastDFS的圖片上傳

1)、修改客戶端配置

進入到目錄 “ /etc/fdfs/ ” 目錄下找到 “ client.conf ”文件進行修改,修改內容如下:

# the base path to store log files
base_path=/home/yuqing/fastdfs
# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
tracker_server=192.168.0.197:22122
#HTTP settings
http.tracker_server_port=80

修改後的(其中目錄自行創建):

# 存儲日誌文件的基本路徑
base_path=/home/huazai/fastdfs/client
# Tracker Server 的IP地址和端口號
tracker_server=192.168.136.141:22121
# 設置HTTP
http.tracker_server_port=80

 

2)、通過FastDFS提供的程序來上傳圖片

在上傳圖片前,需要任意準備一張圖片來測試使用,並將圖片上傳到Linux服務器上,通過FastDFS提供的程序 “ fdfs_upload_file ” 來進行上傳,輸入命令 “ /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/20190601.jpg ”,圖片上傳成功後返回的路徑,如下圖:

進入到storage的文件存儲目錄中,就可以看到上傳的文件了,內容如下:

[root@localhost 00]# ll
total 96
-rw-r--r--. 1 root root 48818 Jul  7 03:56 wKifn10hpbKAbkJpAAC-svoqooU635.jpg
-rw-r--r--. 1 root root 48818 Jul  7 03:57 wKifn10hpdGAQm_tAAC-svoqooU928.jpg
[root@localhost 00]# pwd
/home/huazai/fastdfs/storage_server/store_01/data/00/00

 

8、FastDFS整合Nginx

1)、首選需要安裝Nginx服務器

Nginx 服務器安裝可以參考實現《 Nginx-1.9.9 安裝圖文詳解 》

2)、準備Nginx的安裝環境

yum install -y gcc-c++ \
pcre pcre-devel \
zlib zlib-devel \
openssl openssl-devel

 

3)、準備 fastdfs-nginx-module

將 “ fastdfs-nginx-module-1.20.tar.gz ” 包上傳到Linux服務器上,並輸入命令 “ tar -zxvf fastdfs-nginx-module-1.20.tar.gz ” 解壓。

 

4)、修改 fastdfs-nginx-module 配置

解壓後複製到 “ /usr/local/src/ ” 下,輸入命令 “ cp fastdfs-nginx-module-1.20 -r /usr/local/src/fastdfs-nginx-module ”;並進入到 “ fastdfs-nginx-module/src/ ” 目錄中,將連接配置文件 “ mod_fastdfs.conf ” 複製到 /etc/fdfs/ 目錄下,輸入命令 “ cp mod_fastdfs.conf /etc/fdfs/ ”。

 

5)、修改FastDFS的連接配置文件

將 “ fastdfs-nginx-module/src ” 目錄中的 “ mod_fastdfs.conf ” 配置文件複製到 “ /etc/fdfs/ ” 目錄下,並修改,主要修改內容如下:

# the base path to store log files
base_path=/tmp
# FastDFS tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
# valid only when load_fdfs_parameters_from_tracker is true
tracker_server=tracker:22122
# the port of the local storage server
# the default value is 23000
storage_server_port=23000
# the group name of the local storage server
group_name=group1
# if the url / uri including the group name
# set to false when uri like /M00/00/00/xxx
# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx
# default value is false
url_have_group_name = false
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
# must same as storage.conf
store_path0=/home/yuqing/fastdfs
#store_path1=/home/yuqing/fastdfs1

修改後的(其中目錄自行創建):

# 存儲日誌文件的基本路徑
base_path=/home/huazai/fastdfs/mod_fastdfs
# tracker_server 的調用
tracker_server=192.168.136.141:22122
# 存儲服務器端口號
storage_server_port=23000
# 存儲服務器的組名
group_name=group1
# 是否包含組名
# 設置爲false時 /M00/00/00/xxx
# 設置爲true時 ${group_name}/M00/00/00/xxx, 列如: group1/M00/xxx
url_have_group_name = true
# 文件存儲的路徑
# 這些路徑必須存在
# 必須與storage.conf相同中store_path相同(內容/個數)
store_path0=/home/huazai/fastdfs/storage_server/store_01

6)、其它

檢查 “ /usr/lib ” 目錄下否存在 libfdfsclient.so 文件,否則需要從 “ /usr/lib64 ” 目錄下拷貝 libfdfsclient.so 文件到 “ /usr/lib ” 目錄下,輸入命令 “ cd /usr/lib64/libfdfsclient.so /usr/lib ”;

在 /var目錄下創建 /temp/nginx/client 目錄,留到起備用,輸入命令 “ mkdir -p /var/temp/nginx/client ”

 

9、安裝 Nginx 服務器

1)、解壓Nginx

將 Nginx 安裝包上傳到 Linux服務器,並輸入命令 “ tar -zxvf nginx-1.17.1.tar.gz ” 進行解壓,解壓後獲得 nginx 安裝包,如下圖:

 

2)、配置 Nginx 環境

進入到 nginx-1.17.1 包中,直接鍵入如下內容開始編譯安裝:

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

 

3)、編譯安裝 Nginx

如果順利,就會出現 Makefile 等編譯安裝文件,第一步:編譯Nginx,輸入命令 “ make ”,第二步:安裝Nginx,輸入命令 “ make install ” ,或者 “ make && make install ” ,如果沒有報錯,即安裝完成。

 

4)、配置 Nginx

進入到目錄 “ /usr/local/nginx/conf/ ” 下,修改 nginx.conf 配置文件,新增一個 server ,示例內容如下:

    server {
        listen       8888;    ## 該端口爲storage.conf中的http.server_port相同
        server_name  192.168.136.141; 

        location /group1/M00/ { ## 單機時可指定爲具體的組,否則爲 ~/group[0-9]/
            root  /home/huazai/fastdfs/storage_server/store_01/data; ## 指定 ROOT 目錄,管理員賬戶可不指定
            ngx_fastdfs_module;
        }
    }

配置說明:

listen Nginx服務器監聽的端口號
server_name 本機IP地址
root storage_server的文件存儲地址

 

 

location /group1/M00/                                                          

group1爲nginx 服務FastDFS的分組名稱;

M00是FastDFS自動生成編號,對應storage_server 配置的store_path0=/home/huazai/fastdfs/storage_server/store_01,如果配置了多個store_path且FastDFS在上傳時使用了store_path1的地址,則這裏就是M01;再則就是M02以此類推;

 

5)、測試

重啓Nginx服務器,訪問剛纔通過FastDFS的fdfs_upload_file程序上傳的圖片,直接訪問 “ http://192.168.136.143/group1/M00/00/00/wKifoV0pmLqAZzQLAADq_r3hATs154.jpg ” 地址即可,如下圖:

 

9、總結

通過本篇博客的學習,我們已經實現了在Linux系統中完成FastDFS+Nginx實現分佈式圖片服務器的搭建,對FastDFS分佈式文件服務器有了一個比較全面的瞭解,本篇內容主要針對的是單實例,也就是單Tracker_Server、單Storage_Server,在下一篇文章中將實現多實例的搭建(多Tracker_Server、多Storage_Server),並實現高可用的、靈活擴展的分佈式圖片服務器。

 

 

 

 

 


 好了,關於 【FastDFS-V5.11】Linux下FastDFS+Nginx實現分佈式圖片服務器搭建詳細教程(單機模式) 就寫到這兒了,如果還有什麼疑問或遇到什麼問題歡迎掃碼提問,也可以給我留言哦,我會一一詳細的解答的。 
歇後語:“ 共同學習,共同進步 ”,也希望大家多多關注CSND的IT社區。


作       者: 華    仔
聯繫作者: [email protected]
來        源: CSDN (Chinese Software Developer Network)
原        文: https://blog.csdn.net/Hello_World_QWP/article/details/94335788
版權聲明: 本文爲博主原創文章,請在轉載時務必註明博文出處!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章