分布式图片服务器基于fastdfs和nginx来搭建的。
一、FastDFS是什么
FastDFS是一款开源的、分布式文件系统(Distributed File System), 由淘宝开发平台部资深架构师余庆开发。
FastDFS是通过纯C实现,只能够通过专有API访问,目前提供了C,Java和PHP API,解决大容量文件存储问题,追求高性能和高扩展性。
FastDFS的github:https://github.com/happyfish100
作者开发FastDFS的理念,最新的就是最好的,所以目前就只有最新的分支,没有多分支,最新分支向下兼容。FastDFS只能基于文件,不提供创建目录的操作。
二、FastDFS原理
1、客户端client 发起对 FastDFS 的文件传输动作,通过连接到某一台 Tracker Server 的指定端口来实现的;
2、Tracker Server 选择某台Storage Server 地址等信息返回给我。 client;
3、然后 client 再通过这些信息连接到这台Storage Server,将要上传的文件传送到给 Storage Server上。
三、FastDFS安装和配置
1、 libfastcommon的安装
libfastcommon为FastDFS操作的基础库,FastDFS没有使用标准的库,而是封装了一套和FastDFS相关的库。因为作者很自信自己封装的库,比libevent库实现得更加好,大家可以自行看github上的说明,然后去膜拜一下大神。
libfastcommon 的git下载地址:https://github.com/happyfish100/libfastcommon
tar -xzvf libfastcommon-1.0.46.zip
cd libfastcommon-1.0.46
./make.sh && make.sh install
export LD_LIBRARY_PATH=/usr/lib64/:$LD_LIBRARY_PATH
2、FastDFS的安装
tar -zvxf fastdfs-6.0.7.zip
cd fastdfs-6.0.7
./make.sh && ./make.sh install
3、FastDFS配置
tracker配置
storeage配置
client配置
四、启动fastdfs
fdfs_trackerd /etc/fdfs/tracker.conf
fdfs_storaged /etc/fdfs/storeage.conf
测试文件上传 fdfs_upload_file /etc/fdfs/client.conf /home/a.txt
返回待group的路径,则安装成功
五、nginx-1.10.1集成fastdfs
确保nginx基于源码安装OK。下载fastdfs-nginx-module_v1.16.tar.gz
tar -xzvf fastdfs-nginx-module_v1.16.tar.gz
cd nginx-1.10.1/
cp /usr/include/fastdfs/ /usr/local/include/ -R
cp /usr/include/fastcommon/ /usr/local/include/ -R
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src
./make.sh && ./make.sh install
cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
修改fastdfs-nginx-module/src/mod_fastdfs.conf 将目录,IP等同storeage.conf保持一致
从fastdfs-5.05/conf/http.conf 拷贝到/etc/fdfs/下
从nginx-1.10.1/conf/mime.types 拷贝
到/etc/fdfs/
ln -s /usr/fastdfs/fastdfs0/data /usr/fastdfs/fastdfs0/data/M00
配置nginx
location /group1/M00 {
root /usr/fastdfs/fastdfs0/data;
ngx_fastdfs_module;
}
重启一下storeage和nginx
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
/usr/local/nginx/sbin/nginx -s reload
利用fdfs_upload_file上传一张图片,找到返回值
在浏览器访问:http://192.168.3.5/group1/M00/00/00/aKgfbVhnpGSANaaNAAFbrNW.jpg
此时分布式图片服务器搭建完毕
本文暂时没有评论,来添加一个吧(●'◡'●)