FastDFS分布式文件系统的使用
一、FastDFS服务器的搭建
1)资源文件的上传。
用微信扫描下面的二维码。
2)centos环境下的搭建。
FastDFS是C语言开发,安装FastDFS需要先从官网下载源码,然后进行编译,但编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
Rpma--->rpmb--->rpmc yum a
yum -y install gcc-c++
Yum
FastDFS依赖libevent库,需要安装:
yum -y install libevent
可能遇到的问题:
Another app is currently holding the yum lock; waiting for it to exit...
*建议:先等待一段时间,让系统自动解锁。如果********长时间没有反应,再采用下面的方案*
another app is currently holding the yum lock;waiting for it to exit解决
有时用yum升级一些文件时,会出现以下情况:
another app is currently holding the yum lock;waiting for it to exit…
可以通过强制关掉yum进程:
#rm -f /var/run/yum.pid
然后就可以使用yum了。
将云盘里的文件上传到服务器的/usr/local目录下。
①.安装libfastcommon
#libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。
cd /usr/local
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install
#注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录,所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。
--
#要拷贝的文件如下
# 还有libfdfsclient.so 文件,客户端用
#查找当前目录是否包含指定文件
find -name libfastcommon.so
find /usr/lib -name libfastcommon.so
②安装FastDFS_v5.05(tracker+storage)
#注意,此处我们将这两个东西配置在一台服务器,真实环境考虑高可用,应该是部署在多台服务器
#1,解压FastDFS_v5.05.tar.gz
tar -zxvf FastDFS_v5.05.tar.gz
#2,cd FastDFS
./make.sh
./make.sh install
安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下。(nginx)
③安装tracker服务。
配置tracker服务。修改/etc/fdfs /tracker.conf文件。
#启动tracker。
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
#重启使用命令:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
#配置开机自启动将以上命令加入到该配置文件中
vi /etc/rc.d/rc.local
#注意:配置完毕之后要将ip设置为静态IP
④安装storage服务。
1、如果是在不同的服务器安装,则前面的两步需要重新执行。
2、配置storage服务。修改/etc/fdfs /storage.conf文件
3、启动storage服务,此处会时间长一些
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
配置开机自启动
将以上命令加入到该配置文件中
vi /etc/rc.d/rc.local
⑤配置client。
1、将/usr/local/FastDFS/client 里面的libfdfsclient.so 拷贝到 /usr/lib 这一步非常重要(nginx)
Tips:没有这个文件的,可以去/usr/lib64里面找。
2、修改配置文件
/etc/fdfs/client.conf
3、测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/test_image.jfif
查找该文件上传到哪个地方。
3)FastDFS启动和关闭。
# 依次启动tracker,storage,client
#启动tracker。
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
#启动storage.
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
#启动client.
#测试用
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/test_image.jfif
4)整合nginx。
①安装nginx及其插件。
nginx需要依赖一些环境
n *gcc(前面已经安装,所以不用再安装)*
yum install gcc-c++
n PCRE
yum install -y pcre pcre-devel
n zlib
yum install -y zlib zlib-devel
n openssl
yum install -y openssl openssl-devel
安装nginx,和nginx插件,两者结合
可以使用官方提供的nginx插件。要使用nginx插件需要重新编译。
fastdfs-nginx-module_v1.16.tar.gz
1、解压插件压缩包
2、修改fastdfs-nginx-module/src/config文件,把其中的local去掉。
3、把fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下。并编辑该文件:
4、解压nginx,进入nginx目录
5、对nginx重新config
./configure --add-module=/usr/local/soft/fastdfs-nginx-module/src
6、make
7、make install
*注意:********nginx默认安装到了/usr/local/nginx目录下,所以接下来要进入此目录中*
8、nginx的配置
cd /usr/local/nginx/conf
在nginx的配置文件中添加一个location:
9、启动nginx
10、进入/usr/local/nginx/sbin目录
[root@localhost sbin]# ./nginx
可以再次上传一张图片,然后根据生成的路径进行访问
关闭防火墙
简单的做法(实验的时候就行)
service iptables stop
# centos7:
service firewalld stop
# 测试:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/test_image.jpg
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/hgz/mei.jpg
http://192.168.10.163/group1/M00/00/00/wKgGhFhNXuuAEWPuAAAwpEw7Ci8140_big.jpg
http://192.168.10.163/group1/M00/00/00/wKgGhFhNXuuAEWPuAAAwpEw7Ci8140.jpg
正确做法
vim /etc/sysconfig/iptables
service iptables restart
到此,服务器已经可以正常存储文件和提供访问服务,剩下的就是Java客户端要做的事了