CentOS7 安装 FastDFS

写在前面:

安装过程中很容易出错,建议进行备份。这里进行单节点安装
安装资源在我的资源中自行下
资源

一、安装GCC

FastDFS是用C语言开发,所以要安装gcc环境

yum -y install gcc

安装解压命令(unzip

yum install -y unzip zip

二、安装libevent

yum -y install libevent

三、安装libfastcommon-master

解压刚刚上传的libfastcommon-master.zip

unzip libfastcommon-master.zip

进入解压完成的目录
cd libfastcommon-master

编译并且安装:
./make.sh 
./make.sh install

四、安装fastdfs

tar -zxvf FastDFS_v5.08.tar.gz

cd FastDFS

./make.sh 

./make.sh install

如果安装成功,会看到/etc/init.d/下看到提供的脚本文件:

ll /etc/init.d/ | grep fdfs

在这里插入图片描述

  • fdfs_trackerd 是tracker启动脚本
  • fdfs_storaged 是storage启动脚本

能够在 /etc/fdfs/ 目录下看到默认的配置文件模板:

ll /etc/fdfs/
  • tarcker.conf.sample 是tracker的配置文件模板
  • storage.conf.sample 是storage的配置文件模板
  • client.conf.sample 是客户端的配置文件模板

五、配置并启动tracker服务

FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。

要启动tracker,就修改刚刚看到的tarcker.conf,并且启动fdfs_trackerd脚本即可。

1.首先将模板文件复制

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

2.修改复制后的配置文件:

vim /etc/fdfs/tracker.conf 

修改如下:

base_path=/home/FastDFS/tracker # 存储日志和数据的根目录

3.新建目录:

mkdir -p /home/FastDFS/tracker

注意:关闭防火墙:
centos7以下:

chkconfig iptables off

centos7:

firewall-cmd --state

4.启动和停止:
启动tracker服务器: /etc/init.d/fdfs_trackerd start

停止tracker服务器: /etc/init.d/fdfs_trackerd start

由于安装过程中,fdfs已经被设置为系统服务,可以直接采用服务的启动方式:

service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop

检查FastDFS Tracker Server是否启动成功:

ps -ef | grep fdfs_trackerd

设置tracker服务开机启动:

chkconfig fdfs_trackerd on

六、配置并启动storage服务

  1. 首先将模板文件复制:
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
  1. 修改复制后的配置文件:
vim /etc/fdfs/storage.conf

修改如下:

base_path=/home/FastDFS/storage                 # 数据和日志文件存储根目录 

store_path0=/home/FastDFS/storage        # 第一个存储目录 

tracker_server=自己的ip地址:22122       #  tracker服务器IP和端口 
  1. 新建目录:
mkdir -p /home/FastDFS/storage  

注意关闭防火墙
4. 启动和停止:

启动storage服务器:`/etc/init.d/fdfs_storaged start`
停止storage服务器:`/etc/init.d/fdfs_storaged stop`

同样可以使用服务的方式启动:

service fdfs_storaged start  # 启动fdfs_storaged服务,停止用stop

设置storage服务开机启动:

chkconfig fdfs_storaged on
ps -ef | grep fdfs

可以看到有一个tracker和一个storage进程

七、使用nginx访问FastDFS

7.1 用Nginx访问的原因

借鉴别的博客:

FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组存储服务器之间需要进入文件复制,有同步延迟的问题。
假设Tracker服务器将文件上传到了192.168.4.125,上传成功后文件ID已经返回给客户端。此时FastDFS存储集群机制会将这个文件同步到同组存储192.168.4.126,在文件还没有复制完成的情况下,客户端如果用这个文件ID在192.168.4.126上取文件,就会出现文件无法访问的错误。
而fastdfs-nginx-module可以重定向文件连接到文件上传时的源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误

7.2 安装fastdfs-nginx-module
7.2.1 解压
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
7.2.2.修改config
vim fastdfs-nginx-module/src/config

将所有的 /usr/local/ 换为 /usr/

7.2.3.配置nginx与FastDFS关联配置文件

复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

注意路径!

cp /usr/local/weblog/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

vi /etc/fdfs/mod_fastdfs.conf

修改如下:

connect_timeout=20                       # 客户端访问文件连接超时时长(单位:秒)

tracker_server=自己的ip:22122    # tracker服务IP和端口

url_have_group_name=true                # 访问链接前缀加上组名

store_path0=/home/FastDFS/storage           # 文件存储路径

复制 FastDFS 的部分配置文件到/etc/fdfs 目录

cd /usr/local/weblog/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/
7.3 安装Nginx
  1. 安装nginx的依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
  1. 解压安装包
tar -zxvf nginx-1.17.1.tar.gz
  1. 配置nginx安装包,并指定fastdfs-nginx-model

注意路径!

cd nginx-1.17.1

./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/weblog/fastdfs-nginx-module/src

**注意:**在执行./configure配置nginx参数的时候,需要将fastdfs-nginx-moudle源码作为模块编译进去。

  1. 编译安装
make && make install
7.3.3 启动nginx

nginx整合fastdfs-module模块

修改nginx配置文件,linux中在/opt/nginx/config/nginx.conf文件中:

vim  /opt/nginx/conf/nginx.conf

修改server代码替换为:

server {
        listen       80;
        server_name  image.weblog.com;

    	# 监听域名中带有group的,交给FastDFS模块处理
        location ~/group([0-9])/ {
            ngx_fastdfs_module;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }

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

启动nginx:

nginx	# 启动nginx

nginx -s stop	# 停止nginx

nginx -s reload	# 重新载入配置文件

也可参考这篇
https://www.cnblogs.com/yufeng218/p/8111961.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值