Preface
公司开发一款基于老板的社交商务App.其中有个类似朋友圈的功能模块,涉及到很多图片,考虑可以搭建集群环境,所以图片服务器搭建就有必要了....
考虑了3中思路
1.写了个Servelt上传图片,nginx 访问,这样移动端调用接口会请求两次,也必须自己写程序备份图片,很麻烦,而且没别人的专业啊.....(开始就是这么搞的,感觉太小儿科了,后来改成了FastDFS,)
2.FastDFS
3.OSS
自己动手搭建FastDFS.参考了OPEN经验库中的一篇博客,在此非常感谢他,没有他无私的分享,至少我没法那么搭建...
!!再此再次感谢!!
Content
Tracker 123.*.*.165
Group1 101.*.*.164
1.安装libfastcommon-1.0.7(注意版本),解压,进入文件夹,次执行 ./make.sh 和 ./make.sh install 这两个命令,完成libfastcommon的安装.
PS:上述安装的路径在/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-5.05.tar.gz
解压缩fastdfs-5.05.tar.gz,然后依次执行 ./make.sh 和 ./make.sh install 这两个命令
并且打开 /etc/fdfs 这个目录发现有配置文件存在,就说明安装成功了
3.编辑tracker
4. 启动tracker,执行如下命令: /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
PS:一般fdfs_trackerd等命令在/usr/local/bin中没有,而是在/usr/bin路径下,所以命令修改如下: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
配置storage
a. disabled=false #启用配置文件
b. group_name=group2 #组名,根据实际情况修改
c. port=23001 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
d. base_path=/opt/fastdfs_storage_info #设置storage的日志目录(需预先创建)
e. store_path_count=1 #存储路径个数,需要和store_path个数匹配
f. store_path0=/opt/fastdfs_storage_data #存储路径
g. tracker_server=192.168.224.20:22122 #tracker服务器的IP地址和端口号
3. 启动storage,执行如下命令: /usr/local/bin/fdfs_storage /etc/fdfs/storage.conf restart
PS: 一般fdfs_storage等命令在/usr/local/bin中没有,而是在/usr/bin路径下,所以命令修改如下: /usr/bin/fdfs_storage /etc/fdfs/storage.conf restart
Process
1.客户端请求Tracker Server,由该服务器决定存储到具体 Storage Server,并且把结果告诉客户端
2.客户端请求Storage Server,存储文件
其他步骤....
Reference
1.http://www.open-open.com/lib/view/open1435468300700.html
企业号:798242982
Java 客户端代码示例(common-pool2):Fdfs
压缩包(自己习惯在官网下载):source