分布式:搭建FastDFS分布式文件系统

环境准备

两台CentOS7.x虚拟机:

  • 192.168.1.102作为FastDFStracker
  • 192.168.1.106作为FastDFSstorage

如何创建虚拟机:

使用Xshell连接虚拟机:

下载依赖

需要下载的依赖:

博主下载的依赖版本:
在这里插入图片描述
修改hostname,方便区分trackerstorage

  • tracker虚拟机:
[root@localhost ~]# hostnamectl set-hostname tracker
[root@tracker ~]#
  • storage虚拟机:
[root@localhost ~]# hostnamectl set-hostname storage
[root@storage ~]#

搭建FastDFS

trackerstorage都需要以下步骤,博主以tracker为例,大家在storage上也要进行一样的操作。

[root@tracker ~]# cd /usr/local/
[root@tracker local]# mkdir FastDFS
[root@tracker local]# ll
总用量 0
drwxr-xr-x. 2 root root  6 4月  11 2018 bin
drwxr-xr-x. 2 root root  6 4月  11 2018 etc
drwxr-xr-x. 2 root root  6 1月   8 23:25 FastDFS
drwxr-xr-x. 2 root root  6 4月  11 2018 games
drwxr-xr-x. 2 root root  6 4月  11 2018 include
drwxr-xr-x. 2 root root  6 4月  11 2018 lib
drwxr-xr-x. 2 root root  6 4月  11 2018 lib64
drwxr-xr-x. 2 root root  6 4月  11 2018 libexec
drwxr-xr-x. 2 root root  6 4月  11 2018 sbin
drwxr-xr-x. 5 root root 49 1月   8 22:47 share
drwxr-xr-x. 2 root root  6 4月  11 2018 src

使用Xftp将下载的依赖放到trackerstorage刚刚创建的FastDFS文件夹下。
在这里插入图片描述

安装底层依赖

[root@tracker local]# yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openss openssl-devel wget vim -y

安装libfastcommon

先解压libfastcommon

[root@tracker local]# cd FastDFS
[root@tracker FastDFS]# ll
总用量 1016
-rw-r--r--. 1 root root 809381 1月   8 23:30 fastdfs-6.07.tar.gz
-rw-r--r--. 1 root root  19952 1月   8 23:30 fastdfs-nginx-module-1.22.tar.gz
-rw-r--r--. 1 root root 206348 1月   8 23:30 libfastcommon-1.0.45.tar.gz
[root@tracker FastDFS]# tar -zxvf libfastcommon-1.0.45.tar.gz

安装libfastcommon

[root@tracker FastDFS]# ll
总用量 1016
-rw-r--r--. 1 root root 809381 1月   8 23:27 fastdfs-6.07.tar.gz
-rw-r--r--. 1 root root  19952 1月   8 23:27 fastdfs-nginx-module-1.22.tar.gz
drwxrwxr-x. 5 root root    168 12月 25 10:25 libfastcommon-1.0.45
-rw-r--r--. 1 root root 206348 1月   8 23:27 libfastcommon-1.0.45.tar.gz
[root@tracker FastDFS]# cd libfastcommon-1.0.45
[root@tracker libfastcommon-1.0.45]# ll
总用量 44
drwxrwxr-x. 2 root root   114 12月 25 10:25 doc
-rw-rw-r--. 1 root root 12401 12月 25 10:25 HISTORY
-rw-rw-r--. 1 root root   674 12月 25 10:25 INSTALL
-rw-rw-r--. 1 root root  1607 12月 25 10:25 libfastcommon.spec
-rw-rw-r--. 1 root root  7652 12月 25 10:25 LICENSE
-rwxrwxr-x. 1 root root  3454 12月 25 10:25 make.sh
drwxrwxr-x. 2 root root   191 12月 25 10:25 php-fastcommon
-rw-rw-r--. 1 root root  2776 12月 25 10:25 README
drwxrwxr-x. 3 root root  4096 12月 25 10:25 src
[root@tracker libfastcommon-1.0.45]# ./make.sh
...
[root@tracker libfastcommon-1.0.45]# ./make.sh install

安装fastdfs

先解压fastdfs

[root@tracker libfastcommon-1.0.45]# cd ..
[root@tracker FastDFS]# ll
总用量 1016
-rw-r--r--. 1 root root 809381 1月   8 23:27 fastdfs-6.07.tar.gz
-rw-r--r--. 1 root root  19952 1月   8 23:27 fastdfs-nginx-module-1.22.tar.gz
drwxrwxr-x. 5 root root    168 1月   8 23:40 libfastcommon-1.0.45
-rw-r--r--. 1 root root 206348 1月   8 23:27 libfastcommon-1.0.45.tar.gz
[root@tracker FastDFS]# tar -zxvf fastdfs-6.07.tar.gz

安装fastdfs

[root@tracker FastDFS]# ll
总用量 1020
drwxrwxr-x. 12 root root   4096 12月 31 11:18 fastdfs-6.07
-rw-r--r--.  1 root root 809381 1月   8 23:27 fastdfs-6.07.tar.gz
-rw-r--r--.  1 root root  19952 1月   8 23:27 fastdfs-nginx-module-1.22.tar.gz
drwxrwxr-x.  5 root root    168 1月   8 23:40 libfastcommon-1.0.45
-rw-r--r--.  1 root root 206348 1月   8 23:27 libfastcommon-1.0.45.tar.gz
[root@tracker FastDFS]# cd fastdfs-6.07
[root@tracker fastdfs-6.07]# ll
总用量 140
drwxrwxr-x. 3 root root  4096 12月 31 11:18 client
drwxrwxr-x. 2 root root   189 12月 31 11:18 common
drwxrwxr-x. 2 root root   146 12月 31 11:18 conf
-rw-rw-r--. 1 root root 35067 12月 31 11:18 COPYING-3_0.txt
drwxrwxr-x. 4 root root    56 12月 31 11:18 docker
-rw-rw-r--. 1 root root  3204 12月 31 11:18 fastdfs.spec
-rw-rw-r--. 1 root root 37049 12月 31 11:18 HISTORY
drwxrwxr-x. 2 root root    27 12月 31 11:18 images
drwxrwxr-x. 2 root root    48 12月 31 11:18 init.d
-rw-rw-r--. 1 root root  8344 12月 31 11:18 INSTALL
-rwxrwxr-x. 1 root root  5517 12月 31 11:18 make.sh
drwxrwxr-x. 2 root root  4096 12月 31 11:18 php_client
-rw-rw-r--. 1 root root  2448 12月 31 11:18 README.md
-rw-rw-r--. 1 root root  1700 12月 31 11:18 README_zh.md
-rwxrwxr-x. 1 root root  1768 12月 31 11:18 restart.sh
-rwxrwxr-x. 1 root root   763 12月 31 11:18 setup.sh
-rwxrwxr-x. 1 root root  1680 12月 31 11:18 stop.sh
drwxrwxr-x. 4 root root  4096 12月 31 11:18 storage
drwxrwxr-x. 2 root root  4096 12月 31 11:18 test
drwxrwxr-x. 2 root root  4096 12月 31 11:18 tracker
[root@tracker fastdfs-6.07]# ./make.sh
...
[root@tracker fastdfs-6.07]# ./make.sh install
...

生成了一些命令,等下会用到。

[root@tracker fastdfs-6.07]# cd /usr/bin/
[root@tracker bin]# ls fdfs_*
fdfs_appender_test   fdfs_append_file  fdfs_delete_file    fdfs_file_info  fdfs_regenerate_filename  fdfs_test   fdfs_trackerd         fdfs_upload_file
fdfs_appender_test1  fdfs_crc32        fdfs_download_file  fdfs_monitor    fdfs_storaged             fdfs_test1  fdfs_upload_appender

以上是trackerstorage都需要执行的操作,接下来是trackerstorage各自的配置和启动环节。

配置tracker

修改tracker的配置文件。

[root@tracker bin]# cd /usr/local/FastDFS
[root@tracker FastDFS]# ll
总用量 1020
drwxrwxr-x. 12 root root   4096 12月 31 11:18 fastdfs-6.07
-rw-r--r--.  1 root root 809381 1月   8 23:27 fastdfs-6.07.tar.gz
-rw-r--r--.  1 root root  19952 1月   8 23:27 fastdfs-nginx-module-1.22.tar.gz
drwxrwxr-x.  5 root root    168 1月   8 23:40 libfastcommon-1.0.45
-rw-r--r--.  1 root root 206348 1月   8 23:27 libfastcommon-1.0.45.tar.gz
[root@tracker FastDFS]# cd fastdfs-6.07
[root@tracker fastdfs-6.07]# ll
总用量 144
drwxrwxr-x. 3 root root  4096 1月   8 23:53 client
drwxrwxr-x. 2 root root  4096 1月   8 23:52 common
drwxrwxr-x. 2 root root   146 12月 31 11:18 conf
-rw-rw-r--. 1 root root 35067 12月 31 11:18 COPYING-3_0.txt
drwxrwxr-x. 4 root root    56 12月 31 11:18 docker
-rw-rw-r--. 1 root root  3204 12月 31 11:18 fastdfs.spec
-rw-rw-r--. 1 root root 37049 12月 31 11:18 HISTORY
drwxrwxr-x. 2 root root    27 12月 31 11:18 images
drwxrwxr-x. 2 root root    48 12月 31 11:18 init.d
-rw-rw-r--. 1 root root  8344 12月 31 11:18 INSTALL
-rwxrwxr-x. 1 root root  5517 12月 31 11:18 make.sh
drwxrwxr-x. 2 root root  4096 12月 31 11:18 php_client
-rw-rw-r--. 1 root root  2448 12月 31 11:18 README.md
-rw-rw-r--. 1 root root  1700 12月 31 11:18 README_zh.md
-rwxrwxr-x. 1 root root  1768 12月 31 11:18 restart.sh
-rwxrwxr-x. 1 root root   763 12月 31 11:18 setup.sh
-rwxrwxr-x. 1 root root  1680 12月 31 11:18 stop.sh
drwxrwxr-x. 4 root root  4096 1月   8 23:53 storage
drwxrwxr-x. 2 root root  4096 12月 31 11:18 test
drwxrwxr-x. 2 root root  4096 1月   8 23:53 tracker
[root@tracker fastdfs-6.07]# cd conf
[root@tracker conf]# ll
总用量 92
-rw-rw-r--. 1 root root 23981 12月 31 11:18 anti-steal.jpg
-rw-rw-r--. 1 root root  1909 12月 31 11:18 client.conf
-rw-rw-r--. 1 root root   965 12月 31 11:18 http.conf
-rw-rw-r--. 1 root root 31172 12月 31 11:18 mime.types
-rw-rw-r--. 1 root root 10246 12月 31 11:18 storage.conf
-rw-rw-r--. 1 root root   620 12月 31 11:18 storage_ids.conf
-rw-rw-r--. 1 root root  9138 12月 31 11:18 tracker.conf
[root@tracker conf]# vi tracker.conf

只需要修改一项配置即可,base_path用于存放tracker的数据与日志文件(大家按自己的喜好进行配置)。
在这里插入图片描述

启动tracker

先要创建刚刚配置的base_path

[root@tracker conf]# mkdir -p /usr/local/FastDFS/tracker

现在可以启动tracker服务了。

[root@tracker conf]# pwd
/usr/local/FastDFS/fastdfs-6.07/conf
[root@tracker conf]# /usr/bin/fdfs_trackerd /usr/local/FastDFS/fastdfs-6.07/conf/tracker.conf

tracker服务启动成功。

[root@tracker conf]# ps -ef | grep trackerd
root     10150     1  0 00:10 ?        00:00:00 /usr/bin/fdfs_trackerd /usr/local/FastDFS/fastdfs-6.07/conf/tracker.conf
root     10158  1280  0 00:10 pts/0    00:00:00 grep --color=auto trackerd

关闭tracker虚拟机的防火墙。

[root@tracker conf]# systemctl stop firewalld
[root@tracker conf]# systemctl status firewalld 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 六 2021-01-09 10:34:15 CST; 10s ago
     Docs: man:firewalld(1)
  Process: 654 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 654 (code=exited, status=0/SUCCESS)

1月 09 08:58:44 tracker systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 09 08:58:45 tracker systemd[1]: Started firewalld - dynamic firewall daemon.
1月 09 08:58:46 tracker firewalld[654]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please...bling it now.
1月 09 10:34:15 tracker systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 09 10:34:15 tracker systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.

配置storage

修改storage的配置文件。

[root@storage ~]# cd /usr/local/FastDFS/fastdfs-6.07/conf
[root@storage conf]# vi storage.conf

修改组名,当然这不是必须的,根据自己的喜好而定。
在这里插入图片描述
端口可以不用修改。
在这里插入图片描述
配置base_path,用于存储日志文件。
在这里插入图片描述
配置store_path0store_path0FastDFSstorage存储用户文件的地方。
在这里插入图片描述
配置tracker服务的地址,博主只启动了一个tracker服务,所以需要注释掉一个,tracker服务的IP地址为192.168.1.102,端口是FastDFStracker服务的默认端口22122
在这里插入图片描述
http.server_port这个端口是基于storage服务的web服务端口,FastDFSNginx结合时会使用到。
在这里插入图片描述

创建刚刚配置的base_pathstore_path0

[root@storage conf]# mkdir -p /usr/local/FastDFS/storage_base
[root@storage conf]# mkdir -p /usr/local/FastDFS/storage_store

启动storage

现在可以启动storage服务了。

[root@storage conf]# pwd
/usr/local/FastDFS/fastdfs-6.07/conf
[root@storage conf]# /usr/bin/fdfs_storaged /usr/local/FastDFS/fastdfs-6.07/conf/storage.conf

查看storage服务是否启动成功,很明显启动成功了。

[root@storage conf]# ps -ef | grep storaged
root      1287     1  0 09:32 ?        00:00:00 /usr/bin/fdfs_storaged /usr/local/FastDFS/fastdfs-6.07/conf/storage.conf
root      1289  1222  0 09:33 pts/0    00:00:00 grep --color=auto storaged

copy下面两个文件到/etc/fdfs/下,FastDFSNginx结合时,Nginx需要访问这些文件。

[root@storage conf]# cp /usr/local/FastDFS/fastdfs-6.07/conf/http.conf /etc/fdfs/ 
[root@storage conf]# cp /usr/local/FastDFS/fastdfs-6.07/conf/mime.types /etc/fdfs/ 

关闭storage虚拟机的防火墙。

[root@storage conf]# systemctl stop firewalld
[root@storage conf]# systemctl status firewalld 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 六 2021-01-09 10:39:29 CST; 7s ago
     Docs: man:firewalld(1)
  Process: 656 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 656 (code=exited, status=0/SUCCESS)

1月 09 08:58:39 storage systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 09 08:58:41 storage systemd[1]: Started firewalld - dynamic firewall daemon.
1月 09 08:58:41 storage firewalld[656]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now.
1月 09 10:39:29 xxx systemd[1]: Stopping firewalld - dynamic firewall daemon...
1月 09 10:39:29 xxx systemd[1]: Stopped firewalld - dynamic firewall daemon.

测试

测试在storage上进行,需要先修改client的配置文件。

[root@storage conf]# ll
总用量 92
-rw-rw-r--. 1 root root 23981 12月 31 11:18 anti-steal.jpg
-rw-rw-r--. 1 root root  1909 12月 31 11:18 client.conf
-rw-rw-r--. 1 root root   965 12月 31 11:18 http.conf
-rw-rw-r--. 1 root root 31172 12月 31 11:18 mime.types
-rw-rw-r--. 1 root root 10268 1月   9 09:27 storage.conf
-rw-rw-r--. 1 root root   620 12月 31 11:18 storage_ids.conf
-rw-rw-r--. 1 root root  9138 12月 31 11:18 tracker.conf
[root@storage conf]# vi client.conf

配置存储client日志文件的路径。
在这里插入图片描述
配置tracker服务的地址,和storage的配置文件是一样的。
在这里插入图片描述
创建存储client日志文件的文件夹。

[root@storage conf]# mkdir -p /usr/local/FastDFS/client

先从网络上下载一张图片来进行测试。

[root@storage conf]# cd /usr/local/FastDFS
[root@storage FastDFS]# mkdir test
[root@storage FastDFS]# cd test
[root@storage test]# wget https://pic4.zhimg.com/80/v2-a47051e92cf74930bedd7469978e6c08_hd.png
--2021-01-09 13:17:45--  https://pic4.zhimg.com/80/v2-a47051e92cf74930bedd7469978e6c08_hd.png
正在解析主机 pic4.zhimg.com (pic4.zhimg.com)... 122.205.109.41
正在连接 pic4.zhimg.com (pic4.zhimg.com)|122.205.109.41|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:10997 (11K) [image/png]
正在保存至: “v2-a47051e92cf74930bedd7469978e6c08_hd.png”

100%[=======================================================================================================================================================================>] 10,997      --.-K/s 用时 0s      

2021-01-09 13:17:45 (173 MB/s) - 已保存 “v2-a47051e92cf74930bedd7469978e6c08_hd.png” [10997/10997])

[root@storage test]# ll
总用量 12
-rw-r--r--. 1 root root 10997 8月  23 2019 v2-a47051e92cf74930bedd7469978e6c08_hd.png
[root@storage test]# mv v2-a47051e92cf74930bedd7469978e6c08_hd.png kaven.png
[root@storage test]# ll
总用量 12
-rw-r--r--. 1 root root 10997 8月  23 2019 kaven.png

使用fdfs_test命令来进行测试,很显然测试成功了。

[root@storage test]# /usr/bin/fdfs_test /usr/local/FastDFS/fastdfs-6.07/conf/client.conf upload kaven.png
This is FastDFS client test program v6.07

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.fastken.com/ 
for more detail.

[2021-01-09 13:19:42] DEBUG - base_path=/usr/local/FastDFS/client, connect_timeout=5, 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

tracker_query_storage_store_list_without_group: 
	server 1. group_name=, ip_addr=192.168.1.106, port=23000

group_name=kaven1, ip_addr=192.168.1.106, port=23000
storage_upload_by_filename
group_name=kaven1, remote_filename=M00/00/00/wKgBal_5PO6ATh4qAAAq9Wg-3NI680.png
source ip address: 192.168.1.106
file timestamp=2021-01-09 13:19:42
file size=10997
file crc32=1748950226
example file url: http://192.168.1.106/kaven1/M00/00/00/wKgBal_5PO6ATh4qAAAq9Wg-3NI680.png
storage_upload_slave_by_filename
group_name=kaven1, remote_filename=M00/00/00/wKgBal_5PO6ATh4qAAAq9Wg-3NI680_big.png
source ip address: 192.168.1.106
file timestamp=2021-01-09 13:19:42
file size=10997
file crc32=1748950226
example file url: http://192.168.1.106/kaven1/M00/00/00/wKgBal_5PO6ATh4qAAAq9Wg-3NI680_big.png

下面这些是刚刚用来测试的图片文件元数据。

file timestamp=2021-01-09 13:19:42
file size=10997
file crc32=1748950226

这是由FastDFS创建的图片文件url

example file url: http://192.168.1.106/kaven1/M00/00/00/wKgBal_5PO6ATh4qAAAq9Wg-3NI680.png

现在还访问不了,需要FastDFS结合Nginx来实现访问服务。
在这里插入图片描述

下面分别是组名和文件名,组名是博主之前在storage的配置文件中设置的,文件名是FastDFS自动生成的。

group_name=kaven1, remote_filename=M00/00/00/wKgBal_5PO6ATh4qAAAq9Wg-3NI680.png

这个图片文件其实在storage的配置文件中设置的store_path0下,kaven1M00都是虚拟的路径。

[root@storage test]# cd /usr/local/FastDFS
[root@storage FastDFS]# ll
总用量 1020
drwxr-xr-x.  2 root root      6 1月   9 10:31 client
drwxrwxr-x. 12 root root   4096 12月 31 11:18 fastdfs-6.07
-rw-r--r--.  1 root root 809381 1月   8 23:30 fastdfs-6.07.tar.gz
-rw-r--r--.  1 root root  19952 1月   8 23:30 fastdfs-nginx-module-1.22.tar.gz
drwxrwxr-x.  5 root root    168 1月   8 23:40 libfastcommon-1.0.45
-rw-r--r--.  1 root root 206348 1月   8 23:30 libfastcommon-1.0.45.tar.gz
drwxr-xr-x.  4 root root     30 1月   9 09:32 storage_base
drwxr-xr-x.  3 root root     18 1月   9 10:34 storage_store
drwxr-xr-x.  2 root root     21 1月   9 10:25 test
[root@storage FastDFS]# cd storage_store
[root@storage storage_store]# ll
总用量 12
drwxr-xr-x. 258 root root 8192 1月   9 10:34 data
[root@storage storage_store]# cd data
[root@storage data]# ls
00  05  0A  0F  14  19  1E  23  28  2D  32  37  3C  41  46  4B  50  55  5A  5F  64  69  6E  73  78  7D  82  87  8C  91  96  9B  A0  A5  AA  AF  B4  B9  BE  C3  C8  CD  D2  D7  DC  E1  E6  EB  F0  F5  FA  FF
01  06  0B  10  15  1A  1F  24  29  2E  33  38  3D  42  47  4C  51  56  5B  60  65  6A  6F  74  79  7E  83  88  8D  92  97  9C  A1  A6  AB  B0  B5  BA  BF  C4  C9  CE  D3  D8  DD  E2  E7  EC  F1  F6  FB
02  07  0C  11  16  1B  20  25  2A  2F  34  39  3E  43  48  4D  52  57  5C  61  66  6B  70  75  7A  7F  84  89  8E  93  98  9D  A2  A7  AC  B1  B6  BB  C0  C5  CA  CF  D4  D9  DE  E3  E8  ED  F2  F7  FC
03  08  0D  12  17  1C  21  26  2B  30  35  3A  3F  44  49  4E  53  58  5D  62  67  6C  71  76  7B  80  85  8A  8F  94  99  9E  A3  A8  AD  B2  B7  BC  C1  C6  CB  D0  D5  DA  DF  E4  E9  EE  F3  F8  FD
04  09  0E  13  18  1D  22  27  2C  31  36  3B  40  45  4A  4F  54  59  5E  63  68  6D  72  77  7C  81  86  8B  90  95  9A  9F  A4  A9  AE  B3  B8  BD  C2  C7  CC  D1  D6  DB  E0  E5  EA  EF  F4  F9  FE
[root@storage data]# cd 00
[root@storage 00]# ls
00  05  0A  0F  14  19  1E  23  28  2D  32  37  3C  41  46  4B  50  55  5A  5F  64  69  6E  73  78  7D  82  87  8C  91  96  9B  A0  A5  AA  AF  B4  B9  BE  C3  C8  CD  D2  D7  DC  E1  E6  EB  F0  F5  FA  FF
01  06  0B  10  15  1A  1F  24  29  2E  33  38  3D  42  47  4C  51  56  5B  60  65  6A  6F  74  79  7E  83  88  8D  92  97  9C  A1  A6  AB  B0  B5  BA  BF  C4  C9  CE  D3  D8  DD  E2  E7  EC  F1  F6  FB
02  07  0C  11  16  1B  20  25  2A  2F  34  39  3E  43  48  4D  52  57  5C  61  66  6B  70  75  7A  7F  84  89  8E  93  98  9D  A2  A7  AC  B1  B6  BB  C0  C5  CA  CF  D4  D9  DE  E3  E8  ED  F2  F7  FC
03  08  0D  12  17  1C  21  26  2B  30  35  3A  3F  44  49  4E  53  58  5D  62  67  6C  71  76  7B  80  85  8A  8F  94  99  9E  A3  A8  AD  B2  B7  BC  C1  C6  CB  D0  D5  DA  DF  E4  E9  EE  F3  F8  FD
04  09  0E  13  18  1D  22  27  2C  31  36  3B  40  45  4A  4F  54  59  5E  63  68  6D  72  77  7C  81  86  8B  90  95  9A  9F  A4  A9  AE  B3  B8  BD  C2  C7  CC  D1  D6  DB  E0  E5  EA  EF  F4  F9  FE
[root@storage 00]# cd 00
[root@storage 00]# ls
wKgBal_5PO6ATh4qAAAq9Wg-3NI680_big.png  wKgBal_5PO6ATh4qAAAq9Wg-3NI680_big.png-m  wKgBal_5PO6ATh4qAAAq9Wg-3NI680.png  wKgBal_5PO6ATh4qAAAq9Wg-3NI680.png-m

使用Nginx代理FastDFS实现文件访问参考下面这篇博客:

搭建FastDFS分布式文件系统就介绍到这里。写博客是博主记录自己的学习过程,如果有错误,请指正,谢谢!

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITKaven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值