一、分布式文件系统部署
Centos部署FastDFS资源划分图
1、准备环境
1、 所有服务环境时间必须统一
[root@centos-1 ~]# yum -y install ntpdate
[root@centos-1 ~]# ntpdate ntp1.aliyun.com
[root@fastdfs_tracker_t1 ~]# yum -y install make cmake gcc gcc-c++
链接:https://pan.baidu.com/s/15wS9oDlhRqt8lX3bhe3OYQ
提取码:km6a
2、单台服务器 安装libfastcommon
libfastcommon是一款开源的C基础库,她是从FastDFS项目中剥离出来的C基础库。
[root@fastdfs_tracker_t1 ~]# tar zxf libfastcommon-1.0.7.tar.gz
[root@fastdfs_tracker_t1 ~]# cd libfastcommon-1.0.7
[root@fastdfs_tracker_t1 libfastcommon-1.0.7]# ./make.sh
[root@fastdfs_tracker_t1 libfastcommon-1.0.7]# ./make.sh install
libfastcommon 默认安装到了/usr/lib64/libfastcommon.so和/usr/lib64/libfdfsclient.so 因为FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接
[root@fastdfs_tracker_t1 libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so
[root@fastdfs_tracker_t1 libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
[root@fastdfs_tracker_t1 libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
[root@fastdfs_tracker_t1 libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3、安装FastDFS依赖,根目录下
上传
*获取EPEL免费软件库安装epel免费软件库
[root@fastdfs_tracker_t1 ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@fastdfs_tracker_t1 ~]# rpm -ivh epel-release-6-8.noarch.rpm
安装依赖
[root@fastdfs_tracker_t1 ~]# vi /etc/yum.repos.d/centos7.repo //配置yum源
[fastdfs]
name=fastdfs
baseurl=file:///root/fastdfs
enabled=1
gpgcheck=0
[root@fastdfs_tracker_t1]# yum install gettext gettext-devel libXft libXft-devel libXpm libXpm-devel autoconf libXtst-devel zlib-devel libpng-devel glib-devel
[root@fastdfs_tracker_t1 ~]# yum -y install glib-devel
[root@fastdfs_tracker_t1 ~]# tar xf libevent-2.0.20-stable.tar.gz -C /usr/local/src/
[root@fastdfs_tracker_t1 ~]# cd /usr/local/src/libevent-2.0.20-stable/
[root@fastdfs_tracker_t1 libevent-2.0.20-stable]# ./configure && make && make install
接着编译安装FastDFS(编译前要确保已经成功安装了 libfastcommon)
[root@fastdfs_tracker_t1 ~]# tar xf FastDFS_v5.05.tar.gz -C /usr/local/src/
[root@fastdfs_tracker_t1 ~]# cd /usr/local/src/FastDFS/
[root@fastdfs_tracker_t1 FastDFS]# ./make.sh
[root@fastdfs_tracker_t1 FastDFS]# ./make.sh install
采用默认安装的方式安装,安装后的相应文件与目录: 服务脚本在: /etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd 配置文件在(样例配置文件):
/etc/fdfs/client.conf.sample /etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample命令工具在/usr/bin/目录下的: fdfs_appender_test fdfs_appender_test1
fdfs_append_file fdfs_crc32 fdfs_delete_file fdfs_download_file
fdfs_file_info fdfs_monitor fdfs_storaged fdfs_test fdfs_test1
fdfs_trackerd fdfs_upload_appender fdfs_upload_file stop.sh restart.sh
因为FastDFS服务脚本设置的bin目录是/usr/local/bin,但实际命令安装在/usr/bin,可以进入/user/bin
目录使用以下命令查看 fdfs 的相关命令: [root@Fastdfs_tracker_t1 ~]# cd /usr/bin/
[root@Fastdfs_tracker_t1 bin]# ls | grep fdfs因此需要修改FastDFS服务脚本中相应的命令路径,也就是把/etc/init.d/fdfs_storaged和/etc/init.d/fdfs_trackerd
两个脚本中的/usr/local/bin修改成/usr/bin:
2、Tracker_1进行配置
[root@fastdfs_tracker_t1 ~]# cd /usr/bin/
[root@fastdfs_tracker_t1 bin]# vim /etc/init.d/fdfs_storaged
使用查找替换命令进统一修改::%s#/usr/local/bin#/usr/bin#g 进入配置文件用此命令替换
[root@fastdfs_tracker_t1 bin]# vim /etc/init.d/fdfs_trackerd
使用查找替换命令进统一修改::%s#/usr/local/bin#/usr/bin#g 进入配置文件用此命令替换
将fdfs_storaged配置文件传输给fdfs-server端(三台) 将fdfs_trackerd
配置文件传输给第二台tracker服务将fdfs_trackerd文件传输给trackerd2
[root@fastdfs_tracker_t1 init.d]# scp fdfs_trackerd root@192.168.1.20:$PWD
将fdfs_storaged 文件传输给(storage_s1、2、3)
[root@fastdfs_tracker_t1 init.d]# scp fdfs_storaged root@192.168.1.30:$PWD
[root@fastdfs_tracker_t1 init.d]# scp fdfs_storaged root@192.168.1.40:$PWD
[root@fastdfs_tracker_t1 init.d]# scp fdfs_storaged root@192.168.1.50:$PWD
3、配置FastDFS跟踪器Tracker(两台都需要操作)
复制 FastDFS 跟踪器样例配置文件,并重命名
[root@fastdfs_tracker_t1 ~]# cd /etc/fdfs/
[root@fastdfs_tracker_t1 fdfs]# cp tracker.conf.sample tracker.conf
[root@fastdfs_tracker_t1 fdfs]# vi /etc/fdfs/tracker.conf // 修改的内容如下(其它参数保留默认配置)
disabled=false //启用配置文件
bind_addr=192.168.1.10 //`监听的IP地址`
port=22122 //tracker 的端口号,一般采用 22122 这个默认端口
base_path=/fastdfs/tracker //tracker 的数据文件和日志目录
....
# the method of selecting group to upload files
# 0: round robin**
# 1: specify group**
# 2: load balance, select the max free space group to upload file**
store_lookup=0 //采取轮巡方式选择要上传的组进行存储,默认2 选择最大空闲空间的组**
创建基础数据目录(参考基础目录 base_path 配置)
[root@Fastdfs_tracker_t1 fdfs]# mkdir -p /fastdfs/tracker (tracker服务器创建)
4)关闭iptables防火墙 [root@Fastdfs_tracker_t1 fdfs]# /etc/init.d/iptables
stop
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 温馨提示: 如果iptables防火墙中开启的话,则需要打开跟踪器端口(默认为 22122)
[root@Fastdfs_tracker_t1 fdfs]# vim /etc/sysconfig/iptables
## FastDFS Tracker Port
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT [root@Fastdfs_tracker_t1 fdfs]# service iptables restart
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
启动Tracker服务
[root@fastdfs_tracker_t1 ~]# /etc/init.d/fdfs_trackerd start
[root@fastdfs_tracker_t2 ~]# /etc/init.d/fdfs_trackerd start
[root@fastdfs_tracker_t2 ~]# netstat -anput|grep 22122
查看fastdfs是否开启
初次成功启动,会在/fastdfs/tracker 目录下创建 data、logs 两个目录;
[root@fastdfs_tracker_t1 ~]# ls /fastdfs/tracker/
设置FastDFS(tracker)跟踪器开机启动(两台)
[root@fastdfs_tracker_t1 ~]# /etc/init.d/fdfs_trackerd stop
[root@fastdfs_tracker_t1 ~]# cd /etc/fdfs/
[root@fastdfs_tracker_t1 fdfs]# chkconfig fdfs_trackerd on
[root@fastdfs_tracker_t1 fdfs]# chkconfig --list|grep fdfs_trackerd
[root@Fastdfs_tracker_t1 fdfs]# vim /etc/rc.d/rc.local
[root@Fastdfs_tracker_t1 fdfs]# cat /etc/rc.d/rc.local
[root@fastdfs_tracker_t1 fdfs]# /etc/init.d/fdfs_trackerd start
4、配置FastDFS存储(storage)服务(三台)
[root@fastdfs_storage_s1 ~]# cd /etc/fdfs/
[root@fastdfs_storage_s1 fdfs]# cp storage.conf.sample storage.conf
[root@fastdfs_storage_s1 fdfs]# vi /etc/fdfs/storage.conf
//修改的内容如下(其它参数保留默认配置):....... 黄色标记特别注意 !!!!!
disabled=false //启用配置文件
`group_name=group1` //组名(第一组为 group1,第二组为 group2以此类推)
`bind_addr=192.168.1.30` //监听的地址根据ip定义,以此类推
port=23000 //storage 的端口号,同一个组的 storage 端口号必须相同
base_path=/fastdfs/storage //设置 storage 的日志目录
store_path0=/fastdfs/storage //存储路径
store_path_count=1 //存储路径个数,需要和 store_path 个数匹配
`tracker_server=192.168.1.10:22122` //tracker 服务器的 IP 地址和端口
`tracker_server=192.168.1.20:22122` //多个 tracker 直接添加多条配置
http.server_port=8888 //设置 http 端口号
创建基础数据目录(参考基础目录 base_path 配置)(三台)
[root@fastdfs_storage_s1 fdfs]# mkdir -p /fastdfs/storage
4)关闭iptables防火墙 [root@Fastdfs_storage_s1 fdfs]# /etc/init.d/iptables
stop
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 温馨提示: 如果iptables防火墙中开启的话,则需要打开23000端口 [root@Fastdfs_tracker_t1 fdfs]# vim /etc/sysconfig/iptables
## FastDFS Tracker Port
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
[root@Fastdfs_storage_s1 fdfs]# service iptables restart
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@fastdfs_storage_s1 fdfs]# /etc/init.d/fdfs_storaged start
初次成功启动,会在/fastdfs/tracker 目录下创建 data、logs
两个目录;可以查看tracker是否启动成功:如果没有生成这两个目录(请停止在启动此服务)
[root@fastdfs_storage_s2 storage]# cd /fastdfs/storage/
使用 tail -f /fastdfs/storage/logs/storaged.log
命令监听存储节点日志,可以看到存储节点链接到跟踪器, 并提示哪一个为 leader
跟踪器。同时也会看到同一组中的其他节点加入进来的日志信息。
[root@fastdfs_storage_s3 storage]# tail -f /fastdfs/storage/logs/storaged.log
可以追踪到tarck_server
设置storage开机启动
[root@Fastdfs_storage_s1 fdfs]# /etc/init.d/fdfs_storaged stop
[root@Fastdfs_storage_s1 fdfs]# chkconfig fdfs_storaged on
[root@Fastdfs_storage_s1 fdfs]# chkconfig --list|grep fdfs_storaged
[root@Fastdfs_storage_s1 fdfs]# vim /etc/rc.d/rc.local
......
/etc/init.d/fdfs_storaged start
[root@fastdfs_storage_s1 storage]# /etc/init.d/fdfs_storaged start
所有Storage节点都启动之后,可以在任一 Storage 节点上使用如下命令查看集群信息:
[root@Fastdfs_storage_s1 fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
客户端测试
文件上传测试(在客户机上测试)
修改客户端配置文件
[root@fastdfs_client ~]# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
[root@fastdfs_client ~]# vi /etc/fdfs/client.conf
......
base_path=/fastdfs/tracker
tracker_server=192.168.1.10:22122 指定tracker——serverIP地址
tracker_server=192.168.1.20:22122
[root@fastdfs_client ~]# mkdir -p /fastdfs/tracker
上传图片测试
[root@fastdfs_client ~]# cd /usr/local/src/
上传第一张图片(存储到了server1),因为配置文件指定的是server1
使用FastDFS上传命令,将测试图片上传到FastDFS存储里。
[root@fastdfs_client src]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf
/usr/local/src/1.jpeg group1/M00/00/00/wKgBHl7wn-eAPSuuAAhrsDw32Uo07.jpeg
返回的结果可以知道,图片放到group1(也就是server1)上面了(返回此值说明存储成功)
group1上查看图片是否存储
图片被上传到group1下的数据目录下了。
[root@fastdfs_storage_s1 ~]# cd /fastdfs/storage/data/
[root@fastdfs_storage_s1 data]# cd 00/00/
在上传图片(server2)
[root@fastdfs_client ~]# cd /usr/local/src/
[root@fastdfs_client src]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/2.jpg
group2/M00/00/00/wKgBKF7wobKAA9ffACGjqei0VcE553.jpg
group2上查看图片是否存储
[root@fastdfs_storage_s2 ~]# cd /fastdfs/storage/data/
[root@fastdfs_storage_s2 data]# cd 00/00/
上传第三张图片(存储到了server3)
[root@fastdfs_client src]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/3.jpeg
group3/M00/00/00/wKgBMl7wov6AfcUsAAn3KP8zNYw29.jpeg
[root@fastdfs_storage_s3 storage]# cd /fastdfs/storage/data/
[root@fastdfs_storage_s3 data]# cd 00/00/
为什么存储图片时,存储的地方的顺序是grop1、grop2、grop3呢?
因为配置tracker_server(10、20)的时候是以轮询的方式
这里,我测试的时候,一个group组内只有一台存储服务器,测试图片上传到group内,只上传到一台存储服务器上了。
正常来说,应该要在同一个group组内添加2台以上的存储服务器,这样图片就是被上传到多台存储服务器上,
那么当一台存储服务器挂掉后,图片还能从其他的存储服务器上读出来。
group1、group2、group3上安装nginx服务器
1)fastdfs-nginx-module 作用说明 FastDFS
通过Tracker服务器,将文件放在Storage服务器存储,但是同组存储服务器之间需要进入文件复制,有同步延迟的问题。
假设Tracker服务器将文件上传到了A机器上,上传成功后文件ID已经返回给客户端。此时FastDFS存储集群机制会将这个文件同步到同组存储B机器上,
在文件还没有复制完成的情况下,客户端如果用这个文件ID在B机器上取文件,就会出现文件无法访问的错误。
而fastdfs-nginx-module可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。
(解压后的fastdfs-nginx-module在nginx安装时使用)
安装nginx前,需要在storage配置以下依赖(三台)
[root@Fastdfs_storage_s1 ~]# yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel
安装nginx和fastdfs-nginx-module
上传
[root@fastdfs_storage_s3 ~]# cd /usr/local/src/
[root@fastdfs_storage_s1 ~]# tar zxvf nginx-1.12.2.tar.gz -C /usr/local/src/
[root@fastdfs_storage_s1 ~]# tar zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/src/
修改模块的配置文件(三台)
[root@fastdfs_storage_s1 src]# vi /usr/local/src/fastdfs-nginx-module/src/config
> 把: CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
> 修改成: CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
千万注意:这个路径修改是很重要的,不然在 nginx 编译的时候会报错的!
Nginx编译安装server端(三台)
[root@fastdfs_storage_s1 ]#cd /usr/local/src/
[root@fastdfs_storage_s1 src]# cd nginx-1.12.2/
[root@fastdfs_storage_s1 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src
[root@fastdfs_storage_s1 nginx-1.12.2]# make && make install
复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录,并修改
[root@fastdfs_storage_s1 nginx-1.12.2]# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
[root@fastdfs_storage_s1 nginx-1.12.2]# vi /etc/fdfs/mod_fastdfs.conf
......需要修改的内容
connect_timeout=10
base_path=/tmp
tracker_server=192.168.100.202:22122
tracker_server=192.168.100.203:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path0=/fastdfs/storage
group_count = 3 #几个group就填几个,在最后有一行添加grooup的参数
最后一行添加
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/fastdfs/storage
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/fastdfs/storage
[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/fastdfs/storage
特别注意:
第二组内的Storage服务器(这里指Fastdfs_storage_s2)的mod_fastdfs.conf配置与第一组配置只有group_nam不同,即:
group_name=group2
第三组内的Storage服务器(这里指Fastdfs_storage_s3)的mod_fastdfs.conf
配置与第一组配置只有group_name不同,即: group_name=group3
复制 FastDFS 的部分配置文件到/etc/fdfs 目录(三台starage)
[root@Fastdfs_storage_s1 src]# cd /usr/local/src/FastDFS/conf
[root@Fastdfs_storage_s1 conf]# cp http.conf mime.types /etc/fdfs/
在/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录
[root@Fastdfs_storage_s1 conf]# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
配置 Nginx,简洁版 nginx 配置样例(三台starage)
[root@Fastdfs_storage_s1 src]# cd /usr/local/nginx/conf/
[root@Fastdfs_storage_s1 conf]# cp nginx.conf nginx.conf.bak
[root@fastdfs_storage_s1 conf]# vim nginx.conf #`注意格式`
user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
charset utf-8;
######
## set access log format
######
log_format main '$http_x_forwarded_for $remote_addr $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_cookie" $host $request_time';
#######
## http setting
#######
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
proxy_cache_path /var/www/cache levels=1:2 keys_zone=mycache:20m max_size=2048m inactive=60m;
proxy_temp_path /var/www/cache/tmp;
fastcgi_connect_timeout 3000;
fastcgi_send_timeout 3000;
fastcgi_read_timeout 3000;
fastcgi_buffer_size 256k;
fastcgi_buffers 8 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
#
client_header_timeout 600s;
client_body_timeout 600s;
# client_max_body_size 50m;
client_max_body_size 100m;
client_body_buffer_size 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;
gzip_vary on;
## includes vhosts
include vhosts/*.conf;
}
[root@fastdfs_storage_s1 conf]# cd /var/
[root@fastdfs_storage_s1 var]# mkdir www
[root@fastdfs_storage_s1 www]# mkdir cache
[root@fastdfs_storage_s1 conf]# /usr/local/nginx/sbin/nginx -t
Server三台操作
[root@Fastdfs_storage_s1]#cd /usr/local/nginx/conf/
[root@Fastdfs_storage_s1 conf]# mkdir vhosts
[root@Fastdfs_storage_s1 conf]# cd vhosts/
[root@Fastdfs_storage_s1 vhosts]# vim fastdfs.conf
[root@Fastdfs_storage_s1 vhosts]# cat fastdfs.conf
server {
listen 8888;
server_name localhost;
location /group1/M00 { //注意,Fastdfs_storage_s2机器内此处修改为/group2/M00,Fastdfs_storage_s3机器内此处修改为/group3/M00
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
检查语法如果不通过:不能创建此类型的hash。去nginx配置文件把关于缓存的参数删掉
[root@fastdfs_storage_s1 ~]# cd /usr/local/nginx/conf/
[root@fastdfs_storage_s1 conf]# vi nginx.conf
检查语法配置
启动服务
[root@fastdfs_storage_s1 conf]# /usr/local/nginx/sbin/nginx
[root@fastdfs_storage_s1 conf]# netstat -anptu|grep 8888
+++++++++++++++++++++++++++++++++++++++++++特别注意++++++++++++++++++++++++++++++++++++++++++++++++++ A、8888 端口值是要与/etc/fdfs/storage.conf 中的 http.server_port=8888 相对应,
因为 http.server_port 默认为 8888,如果想改成 80,则要对应修改过来。 B、Storage 对应有多个 group
的情况下,访问路径带 group 名,如/group1/M00/00/00/xxx, 对应的 Nginx 配置为:
location ~/group([0-9])/M00 { ngx_fastdfs_module; } C、如查下载时如发现老报
404,将 nginx.conf 第一行 user www 修改为 user root 后重新启动!这个要特别注意!!!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8)设置Nginx开机启动 [root@Fastdfs_storage_s1 ~]# vim /etc/rc.d/rc.local
… /usr/local/nginx/sbin/nginx
9)关闭iptables防火墙 [root@Fastdfs_storage_s1 conf]# /etc/init.d/iptables stop
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 温馨提示: 如果打开了iptables防火墙功能,则需要开通8888端口访问 [root@Fastdfs_storage_s1 ~]#
vim /etc/sysconfig/iptables
## FastDFS Tracker Port
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
[root@Fastdfs_storage_s1 ~]# service iptables restart
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
测试访问group1上的图片
此路径是存放图片id值,访问时指定
[root@fastdfs_storage_s2 conf]# cd /fastdfs/storage/data/00/00
访问grop1
http://192.168.1.30:8888/group1/M00/00/00wKgBHl7wn-eAPSuuAAhrsDw32Uo07.jpeg
如果访问不到,把nginx文件内的用户改成root(重载)
访问grop2
[root@fastdfs_storage_s2 conf]# cd /fastdfs/storage/data/00/00
[root@fastdfs_storage_s2 00]# ls
wKgBKF7wobKAA9ffACGjqei0VcE553.jpg
http://192.168.1.40:8888/group2/M00/00/00/wKgBKF7wobKAA9ffACGjqei0VcE553.jpg
访问grop3
[root@fastdfs_storage_s3 ~]# cd /fastdfs/storage/data/00/00/
[root@fastdfs_storage_s3 00]# ls
wKgBMl7wov6AfcUsAAn3KP8zNYw29.jpeg
http://192.168.1.50:8888/group3/M00/00/00/wKgBMl7wov6AfcUsAAn3KP8zNYw29.jpeg