FastDFS的安装与配置
1. 引言
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。
本文是在Deepin15.9系统下进行展开的。
2. 下载并解压安装包
首先我们需要下载FastDFS的相关安装包,如下:
- FastDFS_v5.08.tar.gz 下载地址:https://sourceforge.net/projects/fastdfs/files/
- libfastcommon-master.zip 下载地址:https://codeload.github.com/happyfish100/libfastcommon/zip/master
将下载的安装包复制到/usr/local/src
下,进入该目录 cd /usr/local/usr
。
首先将以上两个安装包都解压到当前文件,生成如下两个文件:
sudo unzip libfastcommon-master.zip
sudo tar zxf FastDFS_v5.08.tar.gz
3. 安装libfastcommon
解压之后进入libfastcommon-master
目录:cd libfastcommon-master
,文件结构如下图,其中的make.sh
为可执行文件。
然后先后执行如下两个命令:
- 编译文件:
sudo ./make.sh
, - 安装:
sudo ./make.sh install
。
执行完成后,会在/usr
下产生一个lib64
文件夹,其中包含一个libfastcommon.so
文件。
将该文件复制一份到/usr/lib
下,命令如下:sudo cp libfastcommon.so ../lib
3. 安装Tracker服务
进入FastDFS目录:cd /usr/local/src/FastDFS
,和安装libfastcommon
一样,先后执行①.编译文件:sudo ./make.sh
,②.安装:sudo ./make.sh install
。执行完成后会在/usr/bin
目录下产生如下以fdfs
为前缀的文件:
并在/etc/fdfs
生成了一系列的配置文件,然后我们将解压文件目录下的配置文件复制到该路径下,覆盖当前目录的文件:sudo cp /usr/local/src/FastDFS/conf/* /etc/fdfs/
。
查看该目录下的tracker.conf
文件,将其中的base_path改为自定义的路径,如下图。
所以需要在/home
目录下创建该自定义目录:sudo mkdir -p fastdfs/tracker
,用于储存数据和日志文件。
最后启动tracker
服务:sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
,并查看服务是否顺利启动:sudo ps aux|grep tracker
,如下图则说明安装成功。
4. 安装Storage服务
如果是在不同的服务器部署Storage
服务,则和Tracker
一样,需要编译、安装并复制配置文件,这里的案例是在单机上进行安装,所以略过以上配置。直接修改/etc/fdfs
下的storage.conf
,一共有三处需要修改。
首先,修改base_path
,和修改tracker.conf
文件类似,创建自定义路径:sudo mkdir -p /home/fastfds/storage
,并修改storage.conf
中的内容。
另外还有两处内容需要修改:
最后启动Storage服务器:sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
,并查看服务是否顺利启动:sudo ps aux|grep storage
,如下图则说明安装成功。
5. 测试FastDFS服务
首先修改/etc/fdfs/client.conf
,同样创建自定义路径并修改base_path
以及tracker
服务器的ip和端口号。
然后上传图片进行测试:sudo /usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
,执行结果如下图,即表明配置成功。
根据返回的url
地址,我们可以进入FastDFS
的图片储存路径,查看图片是否上传成功。
cd /home/fastdfs/storage/data/00/00
ll wKgDbVxyoZ2AbkAUAABdrSqbHGQ571.jpg
到此,FastDFS就算是安装配置完成了,此时将该地址输入浏览器地址栏还不能访问该图片,因为现在的FastDFS
已经不支持HTTP
协议,所以我们需要将Nginx
和其整合一起,才能访问该图片。