【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
版权声明: 本文为博主原创文章,请在转载时务必注明博文出处!
发布了318 篇原创文章 · 获赞 637 · 访问量 144万+

猜你喜欢

转载自blog.csdn.net/Hello_World_QWP/article/details/94335788