FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。
安装介质:
fastdfs-master.zip
libfastcommon-master.zip
fastdfs-nginx-module-master.zip
下载地址:
链接:https://pan.baidu.com/s/1ARGsutCgHw4KJk5G0tw2OQ 提取码:hp7s
或https://github.com/happyfish100/libfastcommon
或https://download.csdn.net/download/mazhitao1986/12254793
依赖安装
sudo yum -y install gcc gcc-c++
sudo yum -y install libevent
libfastcommon安装
解压libfastcommon-master.zip
unzip libfastcommon-master.zip
进入到libfastcommon-master目录编译和安装
sudo ./make.sh
sudo ./make.sh install
创建tracker和storage数据和日志目录
cd /data
sudo mkdir fastdfs
在fastdfs下创建tracker和storage目录后面会用到
cd fastdfs
sudo mkdir tracker
sudo mkdir storage
Tracker安装
解压fastdfs-master.zip
unzip fastdfs-master.zip
进入到fastdfs-master目录编译和安装
sudo ./make.sh
sudo ./make.sh install
安装成功之后进入/etc/fdfs目录
将tracker.conf.sample拷贝一份命名为tracker.conf
sudo cp tracker.conf.sample tracker.conf
编辑tracker.conf
sudo vim tracker.conf
修改以下几个地方
base_path=/data/tracker #tracker数据目录和日志目录 /data/tracker上面已经创建好的,根据自己的地址实际配置
http.server_port=8080 #这个根据自己的需要,不要和别的服务端口冲突就好
配置完之后,esc键 :wq保存
启动tracker服务
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
查看服务是否启动成功
至此,tracker已经安装完毕!
Storage安装
由于是单机环境,只需要以相同的方式配置storage即可
进入/etc/fdfs目录,将storage.conf.sample拷贝并命名为storage.conf
编辑storage.conf
sudo vim storage.conf
修改以下几个地方
group_name=group1
base_path=/data/storage #/data/storage上面已经创建,根据自己服务器的路径实际指定
base_path0=/data/storage
tracker_server=tracker_serverip:22122
http.server_port=8888 #这个根据自己的需要,不要和别的服务端口冲突就好
配置完之后,esc键 :wq保存
启动storage服务
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
查看服务是否启动成功
也可以进入/data/storage/logs目录,查看storaged.log的日志如下
至此,storage安装完毕!
FastDFS自带测试工具
进入/etc/fdfs,将client.conf.sample拷贝并命名为client.conf
编辑client.conf
sudo vim client.conf
修改以下几个地方
base_path=/data/storage #/data/storage上面已经创建,根据自己服务器的路径实际指定
tracker_server=tracker_serverip:22122
配置完之后,esc键 :wq保存
上传一张图片测试
sudo /usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/mazhitao/test.png
上传成功,根据其指定的目录查找图片
测试ok
Storage节点安装Nginx以及fastdfs-nginx模块
安装nginx依赖
sudo yum install pcre
sudo yum install pcre-devel
sudo yum install zlib
sudo yum install zlib-devel
sudo yum install openssl
sudo yum install openssl-devel
解压fastdfs-nginx-module-master.zip
unzip fastdfs-nginx-module-master.zip
进入nginx包的安装目录,配置nginx安装目录并且指定fastdfs-nginx-module-master源码位置
sudo ./configure --prefix=/usr/local/nginx --add-module=/home/mazhitao/tool/fastdfs-nginx-module-master/src/
执行完毕之后编译和安装
sudo make
sudo make install
配置mod_fastdfs.conf
将fastdfs-nginx-module-master/src/mod_fastdfs.conf文件拷贝到/etc/fdfs目录下
编辑mod_fastdfs.conf
sudo vim mod_fastdfs.conf
修改以下几个地方
b ase_path=/data/storage
tracker_server=tracker_serverip:22122
url_have_group_name=true
store_path0=/data/storage
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/data/storage
拷贝fastdfs-master/conf/目录中的http.conf和mime.types两个文件至/etc/fdfs/ 一定要拷,否则启动nginx会报莫名奇妙的错
sudo cp http.conf mime.types /etc/fdfs/
进入/etc/fdfs/目录查看
配置nginx.conf 路径/usr/local/nginx/conf/nginx.conf
sudo vim nginx.conf添加红框内的内容root 指的就是storage的目录
保存编辑,并启动nginx
如果看到ngx_http_fastdfs_set 这个指令,基本上是成功了,用浏览器访问测试
一切ok,到此安装全部结束!