文档章节

分布式文件系统FastDFS+nginx的使用配置

KerryLi
 KerryLi
发布于 2017/09/07 16:42
字数 838
阅读 77
收藏 0

一 存储(storage)节点安装Nginx和fastdfs-nginx-module模块

在storage服务上安装nginx和fastdfs-nginx-module模块

主要目的是为了提供 http 的访问服务,同时解决 group 中 storage服务器的同步延迟问题。
nginx中需要添加fastdfs-nginx-module模块。

fastdfs-nginx-module的下载地址:

http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

1下载fastdfs-nginx-module并且安装nginx

[root@localhost tools]# wget http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
--2017-09-07 08:35:43--  http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
Resolving nchc.dl.sourceforge.net... 211.79.60.17, 2001:e10:ffff:1f02::17
Connecting to nchc.dl.sourceforge.net|211.79.60.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17510 (17K) [application/x-gzip]
Saving to: “fastdfs-nginx-module_v1.16.tar.gz”

100%[===============================================================================================================================================================>] 17,510      42.3K/s   in 0.4s    

2017-09-07 08:35:45 (42.3 KB/s) - “fastdfs-nginx-module_v1.16.tar.gz” saved [17510/17510]
## 安装nginx所需的依赖包
shell> yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel
## 编译安装nginx(添加fastdfs-nginx-module模块)
shell> cd /usr/local/src
shell> tar -zxvf nginx-1.8.1.tar.gz
shell> tar -zxvf fastdfs-nginx-module-master.zip
shell> cd nginx-1.10.0
shell> ./configure --prefix=/usr/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src
shell> make && make install

make时候报错:

/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:882: error: ‘struct fdfs_http_context’ has no member named ‘arg’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:883: error: ‘struct fdfs_http_context’ has no member named ‘header_only’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:884: error: ‘struct fdfs_http_context’ has no member named ‘url’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:885: error: ‘struct fdfs_http_context’ has no member named ‘output_headers’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:886: error: ‘struct fdfs_http_context’ has no member named ‘send_file’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:887: error: ‘struct fdfs_http_context’ has no member named ‘send_reply_chunk’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:887: error: ‘fdfs_send_reply_chunk’ undeclared (first use in this function)
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:888: error: ‘struct fdfs_http_context’ has no member named ‘proxy_handler’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:894: error: ‘struct fdfs_http_context’ has no member named ‘if_modified_since’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:897: error: ‘struct fdfs_http_context’ has no member named ‘if_modified_since’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:927: error: ‘struct fdfs_http_context’ has no member named ‘range’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:933: error: ‘struct fdfs_http_context’ has no member named ‘if_range’
/usr/tools/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:933: error: ‘true’ undeclared (first use in this function)
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory `/usr/tools/nginx-1.8.1'
make: *** [install] Error 2

解决办法:
执行以下2条命令,然后重新make&make install

# ln -sv /usr/include/fastcommon /usr/local/include/fastcommon
# ln -sv /usr/include/fastdfs /usr/local/include/fastdfs

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

cp /usr/tools/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
connect_timeout=10
base_path=/tmp
tracker_server=192.168.184.132:22122
storage_server_port=23000
group_name=group1                      
url_have_group_name=true
store_path0=/fastdfs/storage

3 复制FastDFS源文件目录中HTTP相关的配置文件到/etc/fdfs目录

cd /usr/tools/FastDFS/conf
cp http.conf mime.types /etc/fdfs/

4 创建数据存放目录的软链接

ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00

5 配置fastdfs-nginx-module

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

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

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

        #error_page  404              /404.html;

         # FastDFS 文件访问配置(fastdfs-nginx-module模块)
        location ~/group([0-9])/M00 {
            ngx_fastdfs_module;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

Storage 对应有多个 group 的情况下,访问路径带 group 名,如:http://xxxx/group1/M00/00/00/xxx, 对应的 Nginx 配置为:

location ~/group([0-9])/M00 {
    ngx_fastdfs_module;
}

 

 6启动nginx 

[root@localhost sbin]# ./nginx
ngx_http_fastdfs_set pid=5930

 

7 浏览器访问文件测试

http://192.168.184.132:8080/group1/M00/00/00/wKi4hFmxZJ6AYqyCAAAADFmwwCQ352.txt

这是上篇内容上传的某个txt测试文件,内容为hello world

这里我上传一个window图片测试看下

[root@localhost bin]# fdfs_upload_file /etc/fdfs/client.conf /usr/tools/window.png 
group1/M00/00/00/wKi4hFmxdpuAbAwtAAdXoefn-Kg866.png
[root@localhost bin]# 

然后浏览器访问

http://192.168.184.132:8080/group1/M00/00/00/wKi4hFmxdpuAbAwtAAdXoefn-Kg866.png

 

© 著作权归作者所有

共有 人打赏支持
KerryLi
粉丝 1
博文 6
码字总数 6294
作品 0
深圳
程序员
CentOS7搭建FastDFS+Nginx

CentOS7搭建FastDFS+Nginx [TOC] 1. FastDFS 介绍 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存...

ygqygq2
06/29
0
0
Centos 7.X部署分布式文件系统:FastDFS+Nginx

1、FastDFS简介 1.1 介绍 FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如...

甘兵
2017/12/27
0
0
fastdfs中nginx模块出现 404的问题

各位好!小弟想请教的是我最近搭建了一个单机的fastdfs+nginx。上传图片都正常,访问图片会出现 404的问题。后台nginx的错误日志提示如下: “/home/tanghao/filetemp/fastdfs-nginx-module...

卡尔码农
2016/11/07
725
1
FastDFS + Nginx module

前言 新项目使用FastDFS 已经有一段时间了,最近又与Nginx 做了结合。趁有时间,做下整理。 需求 使用FastDFS 存储资源(图片、文档、音频、视频...)文件,使用Nginx 提供资源请求服务。 PS...

lylspecter
2016/07/13
0
0
FastDFS+Nginx配置及报错处理

一、环境部署 1、准备工作 创建程序报下载目录:/home/Package mkdir -pv/home/Package 下载程序包: cd /home/Packagewget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.......

songknight
2016/12/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一切都靠大数据:滴滴已封禁4.3万人员、车辆

这段时间以来,滴滴出行相继出炉了各种整改措施,包括自身安全建设和外部社会共建,昨日就刚刚宣布正在筹备建立安全监督顾问委员会。 据媒体最新报道,9月30日,上海市交通委员会执法总队、上...

linuxCool
21分钟前
2
0
awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
59分钟前
3
0
Spring Cloud Eureka Server高可用之:在线扩容

本文共 1591字,阅读大约需要 6分钟 ! 概述 业务微服务化以后,我们要求服务高可用,于是我们可以部署多个相同的服务实例,并引入负载均衡机制。而微服务注册中心作为微服务化系统的重要单元...

CodeSheep
今天
2
0
内网esxi主机上安装CoreOS虚拟机

CoreOS是一个为专门运行容器而设计的轻量级linux发行版,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。它没有包管理工具,运行容器化应用以提供服务;默...

hiwill
今天
1
0
20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部