< 返回新闻公共列表
云南大王-FastDFS搭建图片服务器
发布时间:2020-04-16 00:00:00
FastDFS服务器
FastDFS
FastDFS是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等
FastDFS由三部分构成: Client -> Tracker Server -> Storage Server
搭建FastDFS服务器
首先搭建Linux虚拟机环境,以Centos7为例,搭建图片服务器
下载安装libevent包 yum -y install libevent 。
将下面三个tar.gz 解压包通过filezilla 传入到虚拟机
首先解压libfastcommon,然后进入,编译安装 make.sh ./make.sh ./make.sh install
安装完后,将/usr/lib64下的 libfastcommon.so复制一份到/usr/lib【32位环境】下
然后解压FastDFS 解压 编译安装同libfastcommon
安装后,bin文件在 /usr/bin下 命名为fdfs_xxx
配置文件在 /etc/fdfs目录下. 把解压后的fastDFS/conf下文件全部复制到/etc/fdfs下,然后进行相应修改。
vi tracker.conf 修改base_path【存储日志】如换成:/fastdfs/tracker
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
Nginx
上面把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服务器
-------------------------------------------到此,图片服务器搭建完毕。------------------------------------------------------