centos 7.5 安装fastdfs (已安装nginx)

资料主要参考:保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)_Elegance never goes out of fashion-CSDN博客

主要是本身已经安装了nginx,稍微有所不同,所以自己也记录一下,顺便帮助一下需要的朋友;

主要的三个组件:

客户端:我们的Java程序去连接FastDFS,操作FastDFS,那我们的Java程序就是一个客户端,FastDFS提供有API用来访问FastDFS文件系统,控制文件上传下载层( 如果你是 java 开发,你只需要关心着一层)。

服务端有两个部分构成

1、跟踪器(Tracker):跟踪器主要做调度工作,在内存中记录集群中存储节点storage的状态信息,是前端 Client 和后端存储节点storage的枢纽。因为相关信息全部在内存中,Tracker server 的性能非常高,一个较大的集群(比如上百个group)中有3台就足够了。

2、存储节点(Storage):存储节点(storage)用于存储文件,包括文件和文件属性(meta data)都保存到存储服务器磁盘上,完成文件管理的所有功能:文件存储,文件同步和提供文件访问等。

下载安装

一.安装前置依赖包

检查Linux上是否安装了 gcc,libevent,libevent-devel

yum list installed | grep gcc

如果没有安装以上前置依赖包,则需要通过下面命令进行安装

  yum install gcc -y
  yum install libevent -y
  yum install libevent-devel -y

二.安装libfastcommon

前置依赖包安装成功后,我们紧接着需要安装公共函数库 libfastcommon

1、获取libfastcommon安装包

         wget https://github.com/happyfish100/libfastcommon/archive/V1.0.36.tar.gz

 

2、解压安装包

        tar -zxvf V1.0.36.tar.gz

3、安装完成后进入 libfastcommon 目录

 

4、在 libfastcommon 目录执行编译

./make.sh 

 

5、安装 libfastcommon

 ./make.sh install

三.安装FastDFS

1、获取fast安装包,这里采用的版本为5.11

wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz

2、解压安装包

tar -zxvf V5.11.tar.gz

3、安装成功后进入目录

 

4、执行编译 make.sh 文件

        ./make.sh

 

5、安装 fastdfs

./make.sh install

6、安装成功后,查看可执行命令,这些命令放在usr/bin目录下表示不用去配置环境变量就可以直接使用我们fastdfs的命令

        ls -la /usr/bin/fdfs*

 

7、拷贝 http.conf 文件到 /etc/fdfs 目录下

cd /etc/fdfs/  //切换到解压目录下
cp http.conf /etc/fdfs/

 8、拷贝 mime.types 文件到 /etc/fdfs 目录下

cp mime.types /etc/fdfs/

拷贝这两个文件后续会用到,为了避免报错大家拷贝完记得进入目录查看一下

配置Tracker服务

 1、修改 tracker 文件后缀,该文件在 /etc/fdfs 目录下,进入目录后发现有三个.sample后缀的文件(自动生成的fdfs模板配置文件),通过cp命令拷贝tracker.conf.sample,删除.sample后缀作为正式文件。

         cd /etc/fdfs/

 

        cp tracker.conf.sample tracker.conf
 

2、编辑 tracker.conf 文件,修改相关参数

vim tracker.conf

 

base_path 指定存放日志的路径,要求该路径必须存在。port 默认端口号。http.server_port 为http端口,需要和nginx相同

base_path=/home/fastdfs/tracker 
port=22122
http.server_port=80

修改完成后输入wq保存并退出,紧接着在配置的目录下创建该文件夹

mkdir /home/fastdfs/tracker

 

如出现图中异常使用  mkdir -p /home/fastdfs/tracker

 3、启动并测试

        fdfs_trackerd

 

通过上方说明命令产生的结果fdfs_trackerd <config_file> [start | stop | restart] 可以告诉我们怎么去用

 我们想要运行trackerd.conf文件就可以通过下方命令去执行

        fdfs_trackerd /etc/fdfs/tracker.conf

 

配置Storage服务

1、修改文件后缀

cd /etc/fdfs/
cp storage.conf.sample storage.conf

2、编辑 storage.conf 文件,修改相关参数

         vim storage.conf

#storage存储data和log的跟路径,必须提前创建好
base_path=/home/fastdfs/storage

#storge默认23000,同一个组的storage端口号必须
port=23000

#默认组名,根据实际情况修改
group_name=group1

#存储路径个数,需要和store_path个数匹配
store_path_count=1

#真正存放文件的目录,如果为空,则使用base_path
store_path0=/home/fastdfs/storage/files

#配置该storage监听的tracker的ip和port
tracker_server=192.168.1.103:22122 


配置完成后不要忘记创建对应的文件夹

        mkdir /home/fastdfs/storage

        mkdir /home/fastdfs/storage/files

3、启动并测试,查看我们两个服务是否启动成功

 

 四.安装Nginx的fastdfs-nginx-module模块

因为已经安装了nginx, 只需要增加和fastdfs相关的模块就行了

1、下载fastdfs-nginx-module安装包

        wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz

2、解压fastdfs-nginx-module

        tar -xvf V1.20.tar.gz

3、配置,并加载fastdfs-nginx-module模块,切换到 nginx的源码目录

./configure --prefix=/usr/local/nginx/ --add-module=/opt/soft/fastdfs-nginx-module-1.20/src/

 如果执行结果里有下面的语句,则说明configure成功

 

4、编译安装

        在nginx的源码目录

        make 

出现如下异常:src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
   37 |         h ^= data[2] << 16;

-Werror: gcc将所有的警告当成错误进行处理把这行内容中的 “-Werror”去掉

 vim objs/Makefile

 重新编译

 

 /usr/include/fastdfs/fdfs_define.h:15:10: fatal error: common_define.h: No such file or directory
   15 | #include "common_define.h"

解决办法:修改objs/Makefile文件,在ALL_INCS的最后面添加【-I /usr/include/fastcommon】,注意在原来的最后一行的后面加上【\】。

因为上面的错误原因是找不到common_define.h文件,所以通过添加-I,就可以找到这个文件了。如果不知道common_define.h在哪个目录,可以用【find /usr -name common_define.h】找到它所在的目录。

同样是编辑 objs/Makefile文件

//增加一列

-I /usr/include/fastcommon  

 再重新编译

编译成功 

5、安装

在目录【/usr/local/nginx/sbin/】下,如果生产了nginx,并把原来的nginx重命名为nginx.old了,则说明安装成功了。

 

 

6、配置Nginx和fastdfs-nginx-module模块

打开mod-fastdfs.conf所在位置拷贝到/etc/fdfs文件目录下

 

 7、进入/etc/fdfs修改mod-fastdfs.conf

#基础路径,确保文件夹存在
base_path=/home/fastdfs/nginx_mod

#tracker的地址
tracker_server=192.168.1.103:22122 

#url是否包含group名称
url_have_group_name=true 

#需要和storage配置的相同
storage_server_port=23000

#存储路径个数,需要和store_path个数匹配
store_path_count=1  

#文件存储的位置
store_path0=/home/fastdfs/storage/files

7、base_path 创建基础目录

mkdir /home/fastdfs/nginx_mod

8、配置nginx,80端口server增加location 我配置的端口是80

        cd /usr/local/nginx/conf/

        location ~ /group[1-9]/M0[0-9] {
               ngx_fastdfs_module;
        }

 

上传下载测试

1、启动

./nginx 

ps -aux|grep nginx检查启动结果

 

上传文件

      

1、进入/etc/fdfs目录,有cp命令拷贝client.conf.sample,删除.sample后缀作为正式文件。

        cp client.conf.sample client.conf

        

2、修改client.conf相关配置

#基础文件路径需要提前创建
base_path=/home/fastdfs/client

#tracker服务器IP地址和端口号
tracker_server=192.168.1.103:22122

#tracker服务器的http端口号,必须和tracker的设置对应起来
http.tracker_server_port=80 

3、创建基础路径文件夹

 

4、重启 trackerd 与 storage

fdfs_trackerd /etc/fdfs/tracker.conf restart
fdfs_storaged /etc/fdfs/storage.conf restart

重启完记得查看进程有没有启动成功

ps -ef|grep fdfs

5、随便选择一个文件作为测试文件,我这里选择nice.jpg

 

6、上传

fdfs_test /etc/fdfs/client.conf upload nice.jpg
 

7、查看结果,直接通过浏览器访问即可,复制url 到 浏览器即可

在查看文档存储

cd /home/fastdfs/storage/files/data/00/00/
 

有big的表示备份的意思,-m表示文件的属性文件通常会记录文件的扩展名大小等基本信息。

删除文件

 fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgBZ2IRC0WAa_pRABOvaq4BAxQ465_big.jpg

 整体流程大致如此, 后面的再去查资料即可

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值