FastDFS配置,并与Nginx结合实现文件服务器

一、FastDFS安装

0. 参考链接

FastDFS项目地址:https://github.com/happyfish100/

FastDFS安装配置文档参考:happyfish100/fastdfs Wiki

https://www.cnblogs.com/leechenxiang/p/5406548.html

https://www.cnblogs.com/leechenxiang/p/7089778.html

1. 环境准备

Centos7.x 两台,分别安装tracker与storage

下载安装包:

  • libfatscommon:FastDFS分离出的一些公用函数包
  • ​FastDFS:FastDFS本体
  • fastdfs-nginx-module:FastDFS和nginx的关联模块
  • nginx:发布访问服务

将所需文件上传到 /home/software/FastDFS/ 下

 2. 安装基本服务

2.1 安装基础库

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

 2.2 安装 libfastcommon-1.0.42 函数库

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

进入到解压后的文件夹 libfastcommon-1.0.42 下,编译并且安装

cd libfastcommon-1.0.42/
./make.sh
./make.sh install

安装的目录可以在控制台看到:

 3 安装 fastdfs-6.0.4 主程序文件 

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

进入到 fastdfs-6.0.4 目录,查看make.sh文件,可以看到 fastdfs 默认安装位置

cd fastdfs-6.04/
vim make.sh

 安装:

./make.sh
./make.sh install    

在控制台可以看到安装后一些配置文件、可执行文件等存放的位置

(1)/usr/bin 中包含了可执行文件;

(2)/etc/fdfs 包含了配置文件; 

可以将 解压后的文件夹里的配置文件也移动到  /etc/fdfs 下

cp /home/software/FastDFS/fastdfs-6.04/conf/* /etc/fdfs/

之后进入 /etc/fdfs 下查看

 二、配置 tracker 服务

tracker 和storage 都是同一个 fastdfs 的主程序的两个不同概念,配置不同的配置文件就可以将其设定为 tracker 或者 storage。

1. 进入 /etc/fdfs/ 目录下,找到 tracker.conf 文件进行配置

vim tracker.conf

修改以下内容:

base_path=/usr/local/fastdfs/tracker

此为tracker的工作目录,保存数据以及日志,如果该路径不存在的话,需要进行创建

mkdir /usr/local/fastdfs/tracker -p

2. 启动 tracker 服务

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

3. 通过查看进程的方式查看 tracker 是否启动成功

ps -ef|grep tracker

如下显示,则启动会成功

4. 停止 tracker

/usr/bin/stop.sh /etc/fdfs/tracker.conf

三、配置 storage 服务(在另一台计算机节点上)

1. 修改 配置文件 storage.conf 

cd /etc/fdfs/
vim storage.conf

主要修改以下内容:

# 修改组名
group_name=didiok
# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口号,用于和tracker的心跳连接
tracker_server=192.168.1.153:22122

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

/usr/local/fastdfs/storage 目录不存在的话,需要创建一下

mkdir /usr/local/fastdfs/storage -p

2. 启动 storage

前提是首先要启动 tracker 服务。之后再启动 storage 服务

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

可以通过查看进程的方式检查是否启动成功

ps -ef|grep storage

3. 测试上传文件

(1)修改 client.conf 配置文件

cd /etc/fdfs/
vim client.conf

主要修改以下内容:

  base_path=/usr/local/fastdfs/client
  tracker_server=192.168.1.153:22122

/usr/local/fastdfs/client 目录如果不存在的话,需要创建一下

  mkdir /usr/local/fastdfs/client

(2)测试上传

首先需要在linux服务器上有一个文件,这里下载一个图片到服务器上

cd /home
wget https://res.didiok.com/so/icon/bilibili.png

之后,使用 FastDFS 测试上传文件

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/bilibili.png

上传成功

上传的文件可以在这里找到:

四、Nginx 和 FastDFS 共同配置,实现文件服务器

fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。

  • 注:nginx需要和storage在同一个节点。

1. 安装 fastdfs-nginx-module

(1)解压 fastdfs-nginx-module-1.22.tar.gz

tar -zxvf fastdfs-nginx-module-1.22.tar.gz

(2)修改 /home/software/FastDFS/fastdfs-nginx-module-1.22/src/config 文件

主要是修改路径,把 local 删除,因为 fastdfs-6.0.4 安装的时候我们没有修改路径,安装路径其中一个是 /usr ,所以这里修改成 /usr/include,下图是修改前的路径:

 2. 安装 Nginx

(1)安装步骤可以参考:Nginx安装教程(centOS 7.x 系统)

  • 安装过程中有一个需要改动的地方:

在安装教程的第 6 步进行配置时,需要加入一行:

--add-module=/home/software/fastdfs-nginx-module-1.22/src

完整的配置文件如下:

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/home/software/FastDFS/fastdfs-nginx-module-1.22/src

(2)如果是已经提前安装好 Nginx 了,也可以执行以下上面的 配置命令,然后再执行一下安装编译命令:

make
make install

3. 修改 fastdfs-nginx-module 的配置文件 mod_fastdfs.conf

 先将配置文件复制到 /etc/fdfs/ 

cd /home/software/FastDFS/fastdfs-nginx-module-1.22/src
cp mod_fastdfs.conf /etc/fdfs

然后修改一下,主要修改以下内容:

base_path=/usr/local/fastdfs/tmp
tracker_server=192.168.1.153:22122
group_name=didiok
url_have_group_name = true
store_path0=/usr/local/fastdfs/storage

 /usr/local/fastdfs/tmp 目录如果不存在的话,需要创建一下

mkdir /usr/local/fastdfs/tmp

4. 修改 Nginx 的配置文件

修改nginx.conf,添加如下虚拟主机: 

server {
    listen       8888;
    server_name  localhost;

    location /didiok/M00 {
            ngx_fastdfs_module;
    }

}

 然后启动 Nginx.

5. 测试图片展示

这里使用前面上传的图片进行展示,

在浏览器打开 http://192.168.1.154:8888/didiok/M00/00/00/eSuZFGRGCmiAUmS9AAAL3zUmnjI683.png,就可以访问到图片了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值