fastDfs安装及启动+nginx

本文详细介绍了如何安装和配置FastDFS,包括安装libfastcommon、fastdfs和nginx,配置tracker、storage,以及设置FastDFS与nginx的集成,提供了一份详尽的步骤指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fdfs用于分布式文件存储,同组间的存储节点可以起到冗余备份的作用。借助于nginx,使用户可以直接访问文件,提供web服务。借助于fdht可以实现去重的作用。

本章节只讲述fdfs的安装配置,即nginx服务的搭建。

1、下载所需软件

      fdfs相关文件下载地址(libfastcommon、fastdfs、fastdfs-nginx-module)

       https://github.com/happyfish100


       nginx1.8下载地址:http://nginx.org/download/nginx-1.8.1.tar.gz


2、安装及启动fdfs

  2.1 安装libfastcommon

     解压libfastcommon-mast.zip

    unzip libfastcommon-master.zip

   cd libfastcommon-master


  当我们此目录并执行 make.sh 文件时,会提示gcc命令不存在。

  那么我们要安装gcc命令:

  yum -y install gcc

  gcc名称安装成功后,我们再次执行  ./make.sh和 ./make.sh install 命令,则安装成功。

 2.2安装fastdfs

 解压fastdfs-master.zip

 unzip fastdfs-master.zip

 cd fastdfs-master

 ./make.sh

 ./make.sh install

 安装成功后,会在/etc/fdfs目录下生成四个样本文件(client.conf.sample  storage.conf.sample  storage_ids.conf.sample  tracker.conf.sample)


我们把示例文件复制一份,去掉sample

cp storage.conf.sample storage.conf

cp storage_ids.conf.sample storage_ids.conf

cp tracker.conf.sample tracker.conf


2.3配置tracker

创建文件及日志的

vim tracker.conf

比较重要的参数如下:

#绑定本地IP

bind_addr=

#tracker服务端口

port=22122

#文件及日志的存储路径

base_path=/opt/fdfs/tracker

# 0: round robin 轮询
# 1: specify group 指定组
# 2: load balance, select the max free space group to upload file 负载均衡
store_lookup=2

# 0: round robin (default) 轮询
# 1: the first server order by ip address 根据IP排序,选择第一个IP对应的存储节点服务
# 2: the first server order by priority (the minimal) 根据优先级排序,选择第存储节点服务
# Note: if use_trunk_file set to true, must set store_server to 1 or 2 如果开启了合并存储,则必须选择1或2
store_server=0

..............

#使用storage_ids.conf文件配置存储节点\组别\IP\节点ID

use_storage_id = true


2.4 配置storage_ids.conf

vi storage_ids.conf

100001 group1 IP地址

2.5 配置storage

mkdir -p /opt/fdfs/storage/data

主要参数如下:

#当前storage服务IP

 bind_addr=

#stroage服务的数据及日志地址

base_path=/opt/fdfs/storage

#文件存储路径

store_path0=/opt/fdfs/storage/data

#跟踪器服务地址

tracker_server=192.168.209.121:22122


 启动tracker服务及storage服务:

service fdfs_trackerd start

service fdfs_storaged start

2.6校验

fdfs_monitor storage.conf


3、fdfs+nginx

安装nginx及fastdfs-nginx-module

解压fastdfs-nginx-module:.unzip fastdfs-nginx-module-master.zip

解压nginx: tar zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1

在安装nginx之前要安装nginx所需的依赖lib:
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel

创建nginx安装目录:mkdir -p /usr/local/nginx


指定安装目录并添加fast模块

./configure --prefix=/usr/local/nginx --add-module=/home/tools/fdfs/fastdfs-nginx-module-master/src

make

make install

至此,nginx安装成功!


在目录/home/tools/fdfs/fastdfs-master/conf下执行命令:

cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
cp anti-steal.jpg /etc/fdfs/

同时把fastdfs-nginx模块的配置文件复制到/etc/fdfs下

cp /home/tools/fdfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

vim mod_fastdfs.conf

主要参数如下:

use_storage_id = true

storage_ids_filename = storage_ids.conf

store_path_count=1

store_path0=/opt/fdfs/storage/data

group_count = 1

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fdfs/storage/data

url_have_group_name =true


配置nginx:

vi nginx.conf

添加服务如下:

 server{
        listen 9999;
        server_name localhost;


        location ~/group[0-9]+/M00{

        ngx_fastdfs_module;

        }

        }


启动nginx:/usr/local/nginx/sbin/nginx


测试上传文件:fdfs_test storage.conf upload anti-steal.jpg

上传成功打印日志如下:

[root@SIT-BJ-Ser04 fdfs]# fdfs_test storage.conf upload anti-steal.jpg 
This is FastDFS client test program v5.11

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/ 
for more detail.

[2017-08-04 11:58:18] DEBUG - base_path=/opt/fdfs/storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

tracker_query_storage_store_list_without_group: 
	server 1. group_name=, ip_addr=10.80.103.63, port=23000

group_name=group1, ip_addr=10.80.103.63, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/ClBnP1mD8NqAe-VeAABdrZgsqUU923.jpg
source ip address: 10.80.103.63
file timestamp=2017-08-04 11:58:18
file size=23981
file crc32=2553063749
example file url: http://10.80.103.63/group1/M00/00/00/ClBnP1mD8NqAe-VeAABdrZgsqUU923.jpg
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/ClBnP1mD8NqAe-VeAABdrZgsqUU923_big.jpg
source ip address: 10.80.103.63
file timestamp=2017-08-04 11:58:18
file size=23981
file crc32=2553063749
example file url: http://10.80.103.63/group1/M00/00/00/ClBnP1mD8NqAe-VeAABdrZgsqUU923_big.jpg

访问地址:http://10.80.103.63:9999/group1/M00/00/00/ClBnP1mD8NqAe-VeAABdrZgsqUU923_big.jpg

如果访问不了,记得检查防火墙是否关闭,或把对应接口添加到防火墙。

到此为止!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值