建议直接从官方地址下载
1.libfastcommon
* 从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境
* 在安装 FastDFS 前需要先安装这个
* 下载地址址:https://github.com/happyfish100/libfastcommon/releases
2.FastDFS
* FastDFS 安装包
* 下载地址:https://github.com/happyfish100/fastdfs/releases
3.fastdfs-nginx-module
* 为了实现通过 HTTP 服务访问和下载 FastDFS 服务器中的文件
* 可以重定向文件链接到源服务器取文件,避免同一组 Storage 服务器同步延迟导致文件访问错误
* 下载地址:https://github.com/happyfish100/fastdfs-nginx-module/releases
* 注:这个目前最新版是 V1.20,不过由于配置时出了点问题,故这里改为使用 V1.16 版本
4.Nginx
* 实现 HTTP 访问,负载均衡和缓存等功能
* 下载地址:http://nginx.org/en/download.html
本次采用的安装包版本如下
* libfastcommon :1.0.38
* FastDFS :5.11
* fastdfs-ninx-module :1.16
* Nginx : 1.15.1
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src
make && make install
cd /usr/local/nginx
[root@localhost sbin]# ./nginx
[root@localhost sbin]#
将以上安装包拷贝到 CentOS7 下的/root 目录下
安装配置
# 关闭防火墙 # 查看防火墙状态 systemctl status firewalld.service # 关闭防火墙 systemctl stop firewalld.service # 禁用防火墙 systemctl disable firewalld.service #以下的安装都要依赖gcc、perl yum install make cmake gcc gcc-c++ yum -y install perl*
1.安装libfastcommon cd /root # 解压 libfastcommon 压缩包 tar -zxvf libfastcommon-1.0.39.tar.gz -C /usr/local/ cd /usr/local/libfastcommon-1.0.39 # 编译并安装 ./make.sh && ./make.sh install # 由于 libfastcommon 安装的路径在 /usr/lib64/ # 但是 FastDFS 主程序设置的 lib 目录是在 /usr/local/lib,所以需要创建软链接 ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
2.安装fastdfs cd /root/ # 解压缩 tar -zxvf fastdfs-5.12.tar.gz -C /usr/local/ cd /usr/local/fastdfs-5.12/ # 编译并安装 ./make.sh && ./make.sh install
配置Tracker # 创建 Tracker 的存储日志和数据的根目录 mkdir -p /fastdfs/tracker cd /etc/fdfs cp tracker.conf.sample tracker.conf # 配置 tracker.conf vi tracker.conf tracker.conf(只是修改一下 Tracker 存储日志和数据的路径) # 启用配置文件(默认为 false,表示启用配置文件) disabled=false # Tracker 服务端口(默认为 22122) port=22122 # 存储日志和数据的根目录 base_path=/fastdfs/tracker 配置 Storage # 创建 Storage 的存储日志和数据的根目录 mkdir -p /fastdfs/storager cd /etc/fdfs cp storage.conf.sample storage.conf # 配置 storage.conf vi storage.conf storage.conf 只是修改一下 storage 存储日志和数据的路径 # 启用配置文件(默认为 false,表示启用配置文件) disabled=false # Storage 服务端口(默认为 23000) port=23000 # 数据和日志文件存储根目录 base_path=/fastdfs/storager # 存储路径,访问时路径为 M00 # store_path1 则为 M01,以此递增到 M99(如果配置了多个存储目录的话,这里只指定 1 个) store_path0=/fastdfs/storager # Tracker 服务器 IP 地址和端口,单机搭建时也不要写 127.0.0.1 # tracker_server 可以多次出现,如果有多个,则配置多个 tracker_server=192.168.1.105:22122 # 设置 HTTP 访问文件的端口。这个配置已经不用配置了,配置了也没什么用 # 这也是为何 Storage 服务器需要 Nginx 来提供 HTTP 访问的原因 http.server_port=8888
启动 Tracker 和 Storage 服务 # 启动 Tracker 服务 # 其它操作则把 start 改为 stop、restart、reload、status 即可。Storage 服务相同 /etc/init.d/fdfs_trackerd start # 启动 Storage 服务 /etc/init.d/fdfs_storaged start # 可以通过 fdfs_monitor 查看集群的情况 # 查看 Storage 是否已经注册到 Tracker 服务器中 # 当查看到 ip_addr = 192.168.1.105 (localhost.localdomain) ACTIVE # ACTIVE 表示成功 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
出现如下图:表示storage启动成功
# 查看是否启动成功
ps -ef | grep fdfs

测试文件上传 # 修改 Tracker 服务器客户端配置文件 cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf vi /etc/fdfs/client.conf client.conf 中修改 base_path 和 Tracker 服务器的 IP 地址与端口号即可 # 存储日志文件的基本路径 base_path=/home/fastdfs/tracker # Tracker 服务器 IP 地址与端口号 tracker_server=192.168.1.105:22122 # 将root目录下的一张图片存储到 FastDFS 服务器中 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/test.jpg
成功标识:返回文件id
3.安装与配置 Nginx
首先说下:
Storage 安装 Nginx,为了提供 http 的访问和下载服务,同时解决 group 中 Storage 服务器的同步延迟问题
Tracker 安装 Nginx,主要是为了提供 http 访问的反向代理、负载均衡以及缓存服务
Nginx 依赖环境有 GCC(这个在安装 libfastcommon 时就安装了)、PCRE、zlib 和 openssl。
# 安装 GCC yum install -y gcc-c++ # 安装 PCRE yum install -y pcre pcre-devel # 安装 zlib yum install -y zlib zlib-devel # 安装 openssl yum install -y openssl openssl-devel # 以上命令也可以使用一条命令来安装 yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
cd /root/nginx-1.6.3
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src
make && make install
配置 fastdfs-nginx-module 所有 storage 节点都要安装 fastdfs-nginx-module 模块 cd /root # 解压 fastdfs-nginx-module 模块 tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/ cd /usr/local/fastdfs-nginx-module/ # 修改 fastdfs-nginx-module 的 config 配置文件 vi src/config
将CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
中的local 去掉,修改为 CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
编译安装 nginx cd /root tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/ cd /usr/local/nginx-1.16.1/ # 给 Nginx 添加 fastdfs-nginx-module 模块 ./configure --add-module=/usr/local/fastdfs-nginx-module/src make && make install 如果出现如下错误: usr/local/fastdfs-nginx-module/src/common.c:22:20: fatal error: logger.h: No such file or directory#include “logger.h” 则执行:
ln -s /usr/include/fast* /usr/local/include/
fastdfs-nginx-module 和 FastDFS 配置文件修改 # 复制 FastDFS 的部分配置文件到 /etc/fdfs cd /usr/local/fastdfs-5.12/conf/ cp http.conf mime.types /etc/fdfs/ # 复制 fastdfs-nginx-module 源码中的配置文件到 /etc/fdfs 中 cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ vi /etc/fdfs/mod_fastdfs.conf mod_fastdfs.conf 配置如下 # Tracker 服务器IP和端口修改 tracker_server=192.168.1.105:22122 # url 中是否包含 group 名称,改为 true,包含 group url_have_group_name = true # 配置 Storage 信息,修改 store_path0 的信息 store_path0=/fastdfs/storager # 其它的一般默认即可,例如 base_path=/tmp group_name=group1 storage_server_port=23000 store_path_count=1
配置 Nginx
vi /usr/local/nginx/conf/nginx.conf
在 server 中添加以下代码 # 配置为支持 group0-group9,以及 M00-M99,以便于以后扩容 # 本单机环境下其实配置为 ~/group1/M00 就可以了 location ~/group([0-9])/M([0-9])([0-9]) { ngx_fastdfs_module; }

启动 Nginx # 启动 Nginx /usr/local/nginx/sbin/nginx # 重启 Nginx /usr/local/nginx/sbin/nginx -s reload # 停止 Nginx /usr/local/nginx/sbin/nginx -s stop # 查看是否启动成功 ps -ef|grep nginx

通过 HTTP 访问文件
通过修改这个地址就能访问到上面上传的文件了
http://192.168.1.105/group1/M00/00/00/wKgBaV4usqKALVXJAAFZ77FUVlQ276.jpg
看到上传的图片就成功了。
每次启动 # 每次开机时,手动打开 Tracker 服务 /etc/init.d/fdfs_trackerd start # 打开 Storage 服务 /etc/init.d/fdfs_storaged start # 启动 Nginx /usr/local/nginx/sbin/nginx
转载:https://www.icode9.com/content-4-624009.html