FastDFS 文件存储服务

FastDFS 文件存储服务

下载

开源地址

https://github.com/happyfish100

在这里插入图片描述

需要使用到的安装包

fastdfs-6.04.tar.gz  
fastdfs-nginx-module-1.22.tar.gz
libfastcommon-1.0.42.tar.gz
nginx-1.16.1.tar.gz

需要使用到的相关依赖

yum install -y gcc gcc-c++
yum -y install libevent

安装

libfastcommon

# 解压
tar -zxvf libfastcommon-1.0.42.tar.gz


# 进入目录下
cd libfastcommon-1.0.42

# 编译
./make.sh

# 安装
./make.sh install

fastdfs

# 解压
tar -zxvf fastdfs-6.04.tar.gz

# 进入目录下
cd fastdfs-6.04

# 查看编译后的相关配置文件存放路径
vim make.sh

# 安装后的默认存放路径
TARGET_PREFIX=$DESTDIR/usr
TARGET_CONF_PATH=$DESTDIR/etc/fdfs
TARGET_INIT_PATH=$DESTDIR/etc/init.d


# 编译
./make.sh

# 安装
./make.sh install



##  配置文件
# 进入 fastdfs-6.04 下的conf目录,将所有的配置文件复制到  /etc/fdfs 下
cd fastdfs-6.04/conf 

# 复制
cp * /etc/fdfs/

# 进入对应配置文件所在路径
cd /etc/fdfs

在这里插入图片描述

需要安装两个模块,分别是处理对外请求,和负责文件存储的服务

tracker(处理对外请求)
# 编辑相关配置文件
vim tracker.conf

# 修改基础空间路径
base_path=/usr/local/fdstdfs/tracker

# 创建目录
mkdir /usr/local/fdstdfs/tracker -p

# 启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

# 检查是否启动
ps -ef|grep tracker

# 停止
/usr/bin/stop.sh  /etc/fdfs/tracker.conf
storage(相关存储)
## 处理 storage配置文件
vim storage.conf

# 修改存储组名(修改了存储组名后,后续其它配置需要和当前保持一致)
group_name=mygroup

# 修改storage的工作空间
base_path=/usr/local/fdstdfs/storage

# 修改storage的存储空间
store_path0=/usr/local/fdstdfs/storage

# 修改tracker的地址和端口号,用于心跳(不能写127.0.0.1和localhost),注: 如果需要进行外网访问的话,ip需要写公网ip
tracker_server=10.0.12.11:22122

# 后续结合nginx的一个对外服务端口号
http.server_port=8888

# 创建目录
mkdir /usr/local/fdstdfs/storage -p

# 启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

# 检查是否启动
ps -ef|grep storage
测试是否可用
# 修改可用客户端配置,用于测试是否可用
vim client.conf

# 修改工作空间
base_path=/usr/local/fdstdfs/client

# 修改tracker的地址和端口号
tracker_server=10.0.12.11:22122

mkdir /usr/local/fdstdfs/client -p


#测试上传(脚本 + 配置文件路径 + 所上传文件路径),测试完成后,会返回对应的文件路径
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf content3-4.jpg

fastdfs-nginx-module

# 解压
tar -zxvf fastdfs-nginx-module-1.22.tar.gz


# 进入解压后的模块目录下
cd fastdfs-nginx-module-1.22/src


# 将对应的配置文件复制一份到 /etc/fdfs/
cp mod_fastdfs.conf /etc/fdfs/


# 修改nginx模块配置文件
# 修改为 tracker_server 对应ip和端口
tracker_server=10.0.12.11:22122

# 对应的组名称
group_name=imooc


# fdfs文件存储位置
store_path0=/usr/local/fdstdfs/storage


# 基础工作空间
base_path=/usr/local/fdstdfs/nginx

nginx 安装

  • 可以看这里

https://blog.csdn.net/xiaomzhng/article/details/124618013

配合nginx使用

# 查看当前模块是否已添加
./nginx -V

在这里插入图片描述

修改配置文件


user  root;
worker_processes  1;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;
    keepalive_timeout  65;
    server {
        # 端口需要和storage的配置文件保持一致
        listen       8888;
        server_name  localhost;


        # /组名/路径名
        location /mygroup/M00 {
                # 模块名
                ngx_fastdfs_module;
		
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }


    }

}

能够成功访问到之前上传的文件 ip:port/组名/M00/00/00/CgAMC2J8fTCARHmtAAIxdMx6dLU017.jpg(使用测试上传的文件,在端口后拼接返回的文件路径即可)

在这里插入图片描述

可能存在的问题

1, 如果使用云服务器,那 storage 中的 ip地址需要写外网ip,在外网使用才能访问到
tracker_server=10.0.12.11:22122
  

2, 使用到的端口(需要开放以下端口,:如果nginx对应的8888 端口一直访问不到,可以修改为其它端口,:80)
tracker: 22122,
storage: 23000
nginx: 8888
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值