FastDFS是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等nginx
FastDFS由三部分构成: Client -> Tracker Server -> Storage Serverc++
首先搭建Linux虚拟机环境,以Centos7为例,搭建图片服务器shell
下载安装libevent包 yum -y install libevent 。centos
将下面三个tar.gz 解压包经过filezilla 传入到虚拟机
服务器
首先解压libfastcommon,而后进入,编译安装 make.sh ./make.sh ./make.sh install负载均衡
而后解压FastDFS 解压 编译安装同libfastcommon分布式
安装后,bin文件在 /usr/bin下 命名为fdfs_xxx测试
配置文件在 /etc/fdfs目录下. 把解压后的fastDFS/conf下文件所有复制到/etc/fdfs下,而后进行相应修改。网站
vi tracker.conf 修改base_path【存储日志】如换成:/fastdfs/trackerurl
vi storage.conf 修改 base_path 【存储数据以及日志】、group_name【组织名,访问服务器要加上的前缀】、store_path0【实际图片存放路径】、tracker_server【修改成tracker服务器 IP地址,由于要向tracker服务器定时汇报】
vi client.conf 修改base_path、tracker_server
启动 tracker storage服务: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
测试client 用/usr/bin下的fdfs_test服务。如:测试上传某图片.
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/logo.png
上传后 返回的信息中有路径: remote_filename = M00/00/00/xxxxxxxxxxxx.png ,访问的话要加上group_name
fastdfs-nginx-module/ 解压目录下,修改 /src/config 文件 将里面的三个/local去掉【同前面fastdfs文件目录一致】。
须要将该目录下的mod_fastdfs.conf 文件拷贝到 /etc/fdfs目录下。在/etc/fdfs下修改该配置文件 修改base_path【/tmp --> /fastdfs/tmp /fastdfs下没有/tmp目录 须要本身去建立】、tracker_server、group_name、url_have_group_name =true【是否须要group_name作访问前缀】、store_path0【must same as storage.conf】 : /fastdfs/storage
上面把fastdfs安装配置完毕,如今须要nginx来代理fastdfs服务器.
安装相应的库 gcc、pcre、pcre-devel、zlib、zlib-devel、openssl、openssl-devel yum install gcc-c++ /pcre pcre-devel /zlib .........
解压nginx 的tar.gz包 ,进入目录,对目录下的configure作相应配置【最后fastdfs-nginx-module为添加fastdfs模块 路径为对应安装位置的/src目录】
配置完后 而后在nginx目录下 对总体进行编译 安装 make make install
进入/usr/local/nginx/conf下修改nginx.conf 在里面另外添加一个服务器端口
server{ listen 88; server_name 服务器地址; # 配置nginx进行负载均衡的路径 location ~/group[0-9]/M00 { ngx_fastdfs_module; } }
关闭防火墙或者打开端口【访问不了的缘由】。
#centos7启动防火墙 systemctl start firewalld.service #centos7中止防火墙/关闭防火墙 systemctl stop firewalld.service #centos7重启防火墙 systemctl restart firewalld.service #设置开机启用防火墙 systemctl enable firewalld.service #设置开机不启动防火墙 systemctl disable firewalld.service
而后打开nginx 配置里设置了前缀 能够直接用 nginx 开启nginx服务器
-------------------------------------------到此,图片服务器搭建完毕。------------------------------------------------------