在【冰河技术】微信公众号的【分布式存储】专题中,我们分别搭建了单节点FastDFS环境和高可用FastDFS集群环境。但是,之前的环境都是基于CentOS 6.8服务器进行搭建的。很多小伙伴反馈说:自己在CentOS 8服务器上,按照我写的文章搭建FastDFS环境时,会失败!看到小伙伴们的这些问题,我今天就给大家分享下如何在CentOS 8服务器上搭建FastDFS环境。
什么是FastDFS?这里,我就摘录下百度百科上对于FastDFS的描述。
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
文件上传下载流程这里,我们用两张图分别来说明下FastDFS文件上传和下载的过程。这样,小伙伴们也能一目了然的看到FastDFS的执行流程。
文件上传 文件下载了解了FastDFS的这些基本知识之后。接下来,我们就一起来看看如何在CentOS 8服务器上搭建FastDFS环境。
服务器版本在正式开始搭建FastDFS环境之前,我们先确定下服务器的版本,这里我使用的CentOS服务器的内核版本为:release 8.1.1911,如下所示。
[root@binghe lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 下载FastDFS这里,我们使用的FastDFS版本为6.0.6,官方的地址为:https://github.com/happyfish100
在FastDFS 6.0.6中,有三个子模块,如下所示。
fastdfs v6.06 libfastcommon v1.0.43 fastdfs-nginx-module v 1.22我们可以在CentOS 8服务器的命令行执行如下命令来下载这些模块。
[root@binghe source]# wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz [root@binghe source]# wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz [root@binghe source]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz 下载NginxNginx的官方网址为:
我们可以在CentOS 8服务器命令行输入如下命令下载Nginx。
[root@binghe source]# wget 安装FastDFS依赖 [root@binghe dest]# yum install gcc gcc-c++ [root@binghe dest]# yum install libtool zlib zlib-devel openssl openssl-devel [root@binghe dest]# yum -y install pcre pcre-devel libevent libevent-devel perl unzip net-tools wget 安装libfastcommon 解压libfastcommon的压缩包 [root@binghe source]# tar -zxvf V1.0.43.tar.gz 编译并安装 [root@binghe source]# cd libfastcommon-1.0.43/ [root@binghe libfastcommon-1.0.43]# ./make.sh && ./make.sh install 测试安装结果 [root@binghe libfastcommon-1.0.43]# ls /usr/lib64|grep libfastcommon libfastcommon.so [root@binghe libfastcommon-1.0.43]# ls /usr/lib|grep libfastcommon libfastcommon.so 编译安装fastdfs 解压FastDFS [root@binghe source]# tar -zxvf V6.06.tar.gz 安装FastDFS [root@binghe source]# cd fastdfs-6.06/ [root@binghe fastdfs-6.06]# ./make.sh && ./make.sh install 查看FastDFS的安装情况 [root@binghe fastdfs-6.06]# ls /usr/bin|grep fdfs fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_crc32 fdfs_delete_file fdfs_download_file fdfs_file_info fdfs_monitor fdfs_regenerate_filename fdfs_storaged fdfs_test fdfs_test1 fdfs_trackerd fdfs_upload_appender fdfs_upload_file 修改FastDFS配置文件 [root@binghe fastdfs-6.06]# cd /etc/fdfs/ [root@binghe fdfs]# cp storage.conf.sample storage.conf [root@binghe fdfs]# cp client.conf.sample client.conf [root@binghe fdfs]# cp tracker.conf.sample tracker.conf 启动FastDFS 启动tracker服务(1)创建tracker服务所需的目录
[root@binghe fdfs]# mkdir /data/fastdfs [root@binghe fdfs]# mkdir /data/fastdfs/tracker [root@binghe fdfs]# chmod 777 /data/fastdfs/tracker(2)配置tracker服务
修改 tracker.conf 文件。
[root@binghe fdfs]# vi /etc/fdfs/tracker.conf只修改base_path一项的值为我们在上面所创建的目录即可。
base_path = /data/fastdfs/tracker(3)启动 tracker 服务
[root@binghe fdfs]# /etc/init.d/fdfs_trackerd start(4)检查tracker服务启动是否成功
[root@binghe fdfs]# ps auxfww | grep fdfs root 15067 0.0 0.0 12320 964 pts/0 S+ 01:14 0:00 | | \_ grep --color=auto fdfs root 15026 0.0 0.1 90160 5940 ? Sl 01:13 0:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf能看到 fdfs_trackerd,表示tracker服务启动成功
(5)检查tracker服务是否已绑定端口 22122
[root@binghe dest]# netstat -anp | grep 22122 tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 15026/fdfs_trackerd说明: 22122端口是在/etc/fdfs/tracker.conf中定义的。如下所示:
# the tracker server port port = 22122 启动storage服务(1)创建storage服务所需的目录
[root@binghe fdfs]# mkdir /data/fastdfs/storage [root@binghe fdfs]# chmod 777 /data/fastdfs/storage/(2)配置storage服务
编辑storage的配置文件:
[root@binghe fdfs]# vi /etc/fdfs/storage.conf各配置项包括: