step 1 : 准备材料
step 2: 安装 fastdfscommon
-
2-1: 安装所需要的依赖环境
yum -y install libevent
-
2-2: 解压 fastdfscommon 压缩包
tar -zxvf libfastcommon-1.0.7.tar.gz
-
2-3: 进入刚解压出来的 fastdfscommon 文件夹, 找到 make.sh 文件用它来进行编
译./make.sh
如果编译出错,解决方案如下:
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
-
2-4: 安装刚刚编译的 fastdfscommon 文件
./make.sh install
-
2-5: 安装后会安装到目录 /usr/lib64, 该目录有很多文件,进入此目录查看所有可以使用以下命令
ll libfast*
-
2-6: 因 为 lib64 是 64 位 的 环 境 , 所 以 我 们 要 将 它 移 至 目
录 /usr/lib,cp libfastcommon.so /usr/lib
step 3: 安装 tracker 服务
- 3-1 : 找到 fastdfs-5.05.tar.gz 压缩文件 ,然后解压它,
tar -zxvf fastdfs-5.05.tar.gz
- 3-2: 进入刚解压出来的 fastdfs-5.05.文件夹, 找到 make.sh 文件用它来进行编 译
./make.sh
- 3-3: 安装刚刚编译的 fastdfscommon 文件
./make.sh install
- 3-4: 安装完后,fastdfs会在目录 /usr/bin/ 添加了以fdfs为前缀的文件,查看命令如 下
ll fdfs*
- 3-5: 另外 fastdfs 也会在 目录 /etc/fdfs/ 添加相关配置,转到该目录
cd /etc/fdfs/
, 然后查看此目录相关文件ll
- 3-6: 然后转到 已经解压出来的 fastdfs-5.05 文件夹目录, 里面会有 conf 文件夹 目录, 再进入到此目录中, 如图:
- 3-7: 将 上 面 所 有 文 件 全 部 拷 贝 到 目 录 /etc/fdfs/ 中 去
cp * /etc/fdfs/
, 转 到 目 录 /etc/fdfs/, 查 看 此 目 录 内 容ll
:
- 3-8: 修改 tracker.conf 文件
vim tracker.conf
, 找到 base_path 关键字符串(此路径也就是日志的保持路径, 这个随意填写)base_path=/fastdfs/tracker
- 3-9: 创 建 上 面 所 填 写 修 改 的 路 径 , ( 上 面 是
/fastdfs/tracker)mkdir /fastdfs/tracker -p
- 3-10: 分 别 在 根 目 录 / 创 建 storage , client 和 tmp , 为下面准备
mkdir /fastdfs/storage -p
,mkdir /fastdfs/client -p
,mkdir /fastdfs/tmp -p
进入cd /fastdfs
然后ll
查看目录结构:
- 3-11: ( 可 以 先 进 入
cd /usr/bin
回 车 , 查 看ll fdfs*
) 启动 tracker 服务/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
按 下 回 车 ( 重 启 命令/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
)
step 4: 安装 storage 服务
- 4-1: 上面我们已经在根目录的 fastdfs /fastdfs 创建了 client, storage 和 tracke 三个目录 ll /fastdfs (如上图所示)
- 4-2: 进入 /etc/fdfs 目录下
cd /etc/fdfs/
, 然后修改 storage.conf 文件vim storage.conf
,找到 base_path 关键字然后修改此路径(日志保存的路径)
- 4-3: 再找 group name 关键字 (即主机的名称)wdzl
- 4-4: 再找 store_path0 (文件存储的路径)
- 4-5: 再配置与 tracker 关联起来 , 配置完后保存退出
:wq
配置 tracker 服务器的地址 192:168.1.103:22122 这里应该是你自己 tracker 的地址. - 4-6: 启动 storage 服务, 目录转到/usr/bin/目录下
./fdfs_storaged /etc/fdfs/storage.conf
命令启动服务 (./fdfs_storaged /etc/fdfs/storage.conf restart
) 重启.
- 4-7: 可以查看服务有没有启动
ps aux | grep storage
step 5: 配置 client 并且上传测试图片
5-1: 转到 /etc/fdfs/ 目录下, 然后修改 client.conf 文件 vim client.conf
, 找 到 base_path 关键字 (存储日志的目录) 与 配置 tracker 服务器的地址
- 5-2: 目 录 转 到 /usr/bin 目 录 下 , 会 有 个 client_test 文 件 启
动/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/testPic.jpg
ps: /home/1.jpg 就是你要上传测试的图片地址
group_name =wdzl remote_filename
就是图片的 url 地址,等下面配置好 nginx 后可以用它 (group_name + remote_filename)的地址来访问此图片,就像 example file 所 显示的那个地址 刚刚测试上传的图片文件 保存在 /fastdfs/storage/data/00/00/ 目录下
step 6: fastdfs 与 nginx 配置
- 6-1: 找到之前上传的 fastdfs-nginx-module.tar.gz 压缩包文件, 解压它
tar -zxvf fastdfs-nginx-module.tar.gz
- 6-2: 进入解压后的文件的 src 目录下, 然后修改 config 文件
vim config
, 替换下面的代码,或者把 local 字样去掉.
ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS
$ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/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"’"
ps 上面的路径要与之前的路径对应,如果是按照上面配置的话,可以直接粘贴
step 7: 安装 nginx 和配置
- 7-1: 安装 nginx 所需要的库(如果前面安装过,此处无需安装)
- 7-2: 找到之前上传的 nginx 压缩包
tar -zxvf nginx-1.12.0.tar.gz
- 7-3: 解压后转到该文件夹根目录下, 如 (/home/nginx-1.12.0) ,最后复制粘贴下面的代码,修改–add-module 是指向你 fastdfs-nginx-module 的 src 文件所在路径, 最后按下回车
- 7-4: 编译并安装 nginx, 在该文件夹根目录下, 如 (/home/tar/nginx-1.15.0)输入编译命令
make
,然后安装make install
- 7-5: 安装完后在 /usr/local/ 目录下会多出 nginx 文件目录, 进入此目录
- 7-6: 转到 上面所解压完的 fastdfs-nginx-module 文件夹进入到里面的 src 目录下, 拷贝 mod_fastdfs.conf 文件到 /etc/fdfs 目录下
cp mod_fastdfs.conf /etc/fdfs
- 7-7: 进入到 /etc/fdfs 目录下, 然后修改 mod_fastdfs.conf 文件
vim mod_fastdfs.conf
, 修改如下图:
配置 tracker 服务器的地址 192:168.1.103:22122 这里应该是你自己tracker 的地址
配置之前所设置的 group_nam
配置是否需要添加组织的名字 , 设置为 true
配置 store_path0 , 如下图所示:
- 7-8: 进入 nginx 安装目录 进入 conf 目录(usr/local/nginx/conf ll)
- 7-9: 编辑 nginx.conf 配置文件
vim nginx.conf, 添加新的服务器节点 , 最 后保存
:wq` server_name 192.168.1.103 就是要被访问的服务器地址, 这里需要换你自己的 ip
- 7-10: 检测 nginx 转到 nginx 安装目录下的 sbin 的目录下 (启动之前可以
使用 ./nginx -t 检测是否配置正确)
问题一:如果出现下图问题:
进入 nginx 解压后的目录,删除 Makefile 文件重新进入 nginx 解压后的目录,如:cd /home/tar/nginx-1.15.2
回车,将下图代码进行重新编译:
回车,然后进入 nginx 解压后的根目录进行编译和安装,输入命令 make && make install
回车即可。再次进入 nginx 安装目录下的 sbin 目录,输入命令./nginx -t
,结果如下图:
问题二:缺少目录结构:
- 7-11:启动 nginx ./nginx
step 8 查看上传到 fsatdfs 图片
- 8-1: 先关闭防火墙
- 8-2: 打开浏览器 输入图片地址 如果出现下面的画面
需要再配置下 mod_fastdfs.conf 文件vim mod_fastdfs.conf
转到 mod_fastdfs 目录下(/etc/fdfs)ll
编辑 mod_fastdfs.conf 找到 store_path0 关键字 , 将它指向你 fastdfs 的storage 目录的路径, 如图 , 最后保存退出:wq
重启 track (cd /usr/bin
#fdfs_trackerd /etc/fdfs/tracker.conf
)
重启 storage (cd/usr/bin
#fdfs_storaged /etc/fdfs/storage.conf
)服务器
最后重启 ningx 服务器(cd /usr/local/nginx/sbin
)./nginx -s reload
,
无上述问题,无需重启 track、storage 服务,接下来在浏览器输入以下地址:http://192.168.1.103/wdzl/M00/00/00/图片名称
按照上述流程搭建fastdfs 分布式文件存储成功!