文档章节

linux环境配置单机FastDFS文件存储服务器

xiejunbo
 xiejunbo
发布于 2015/02/27 17:39
字数 1067
阅读 449
收藏 0
点赞 0
评论 0

搭建linux环境下的FDFS文件服务器,用于图片文件、视频文件、音频文件的存储管理。

测试环境:

tracker server 和 storage server 在同一台机器121.42.25.134
nginx 与 storage server 对接

所需主要软件包:

 pcre-8.36安装

tar -zxvf pcre-8.36.tar.gz

cd pcre-8.36

./configure

make 

make install

 

zlib-1.2.8安装

1> tar -xvf zlib-1.2.8.tar.gz
2> ./configure --prefix=/usr/local/zlib-1.2.8 
3> make
4> make install

 libevent-2.0.21-stable.tar.gz 安装
1> tar -xvf libevent-2.0.21-stable.tar.gz
2> ./configure --prefix=/usr/local/libevent-2.0.21 (指定安装目录)
3> make
4> make install

FastDFS_v4.06.tar.gz 安装
1> tar -xvf FastDFS_v4.06.tar.gz
2> cd FastDFS

3>vi make.sh

#指定fastdfs安装路径
TARGET_PREFIX=/usr/local/FastDFS

#指定fastdfs配置文件路径
TARGET_CONF_PATH=/etc/fdfs
WITH_LINUX_SERVICE=1
4> ./make.sh C_INCLUDE_PATH=(libevent指定的安装目录)/usr/local/libevent-2.0.21/include LIBRARY_PATH=(libevent指定的安装目录)/usr/local/libevent-2.0.21/lib


5> ./make.sh install
6> 设置软连接(否则编译nginx时会出错)
ln -sv /usr/local/FastDFS/include/fastcommon /usr/local/include/fastcommon
ln -sv /usr/local/FastDFS/include/fastdfs /usr/local/include/fastdfs
ln -sv /usr/local/FastDFS/lib/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -sv /usr/local/FastDFS/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so.1
ln -sv /usr/local/FastDFS/lib/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -sv /usr/local/FastDFS/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so.1

nginx-1.7.7.tar.gz + fastdfs-nginx-module_v1.15.tar.gz 安装
1> tar -xvf nginx-1.7.7.tar.gz
2> tar -xvf fastdfs-nginx-module_v1.15.tar.gz
3> cd nginx-1.7.7
4> ./configure --prefix=/usr/local/nginx  --add-module=/fastdfs-nginx-module所在路径/fastdfs-nginx-module/src

如果安装nginx出错时可指定安装模块和不安装的模块,确保安装nginx不出错(./configure --prefix=/usr/local/nginx --add-module=/usr/local/software/fastdfs-nginx-module/src/ --with-pcre=/usr/local/software/pcre-8.36 --with-openssl=/usr/local/software/openssl-1.0.2h --with-zlib=/usr/local/software/zlib-1.2.8)
5> make

6> make install

注意:安装nginx 确保系统有 gcc、 openssl-devel、 pcre-devel和zlib-devel软件库

(安装:yum install gcc 

 yum install openssl-devel

 yum install pcre-devel

 yum install zlib-devel)


5. tracker server
1> vi /etc/fdfs/tracker.conf
#bind_addr=
base_path=/home/tracker/fastdfs
2> 启动 tracker
/usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf 
3> netstat -ntpl | grep fdfs
tcp 00121.42.25.134:221220.0.0.0:* LISTEN /fdfs_trackerd

6. storage server
1> vi /etc/fdfs/storage.conf
group_name=group1
#bind_addr=
base_path=/home/storage1/fastdfs
store_path0=/home/storage1/fastdfs
tracker_server=121.42.25.134:22122

2> cp /路径/fastdfs-nginx-module/src/mod_fastdfs.conf 至 /etc/fdfs/
3> vi /etc/fdfs/mod_fastdfs.conf
base_path=/home/storage1/fastdfs
group_name=group1
url_have_group_name=true

store_path0=/home/stroage1/fastdfs

tracker_server=121.42.25.134:22122

#HTTP settings
http.tracker_server_port=80

 

4>配置访问路径和nginx-fastdfs模块: vi /usr/local/nginx/conf/nginx.conf    
   location /group1/M00 {
            root /home/storage1/fastdfs/data;
            ngx_fastdfs_module;
}
5> 启动 storage  
/usr/local/FastDFS/bin/fdfs_storaged /etc/fdfs/storage.conf
6>  ln -s /home/storage1/fastdfs/data /home/storage1/fastdfs/data/M00
7> 启动 nginx 
/usr/local/nginx/sbin/nginx

8> netstat -ntl

此时应该有3个监听端口,分别是:
80 -> nginx
22122 -> tracker server
23000 -> storage server

7. 测试
1> vi /etc/fdfs/client.conf
base_path=/home/storage1/fastdfs
tracker_server=121.42.25.134:22122
2> /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload header.png


游览器输入:
http://121.42.25.134/group1/M00/00/00/eSoZhlaSHkKAfOaDAAFWJ__s_HE465_big.png
 

正常来说按上面配置下来是可以正常访问,如图

如果不能正常访问,请检查:

  1. 以上每步没有出错

  2. 检查nginx路径配置是否正确,nginx模块是否有加载

  3. 服务器的防火墙是否已关闭

  4. 文件访问权限

     

========================常用命令============================

启动storage:   ./fdfs_storaged /etc/fdfs/storage.conf

启动stracker:  ./fdfs_trackerd /etc/fdfs/tracker.conf

关闭storage:  ./stop.sh /etc/fdfs/storage.conf

关闭tracker:  ./stop.sh /etc/fdfs/tracker.conf

查看tracker和storage进程: netstat -unltp|grep fdfs

查看nginx进程: ps -ef|grep nginx

测试上传:   ./fdfs_test /etc/fdfs/client.conf upload /usr/local/head.png 

查看存储节点: ./fdfs_monitor /etc/fdfs/storage.conf

       ./fdfs_monitor /etc/fdfs/client.conf

移除某一集群分组节点:

fdfs_monitor /etc/fdfs/client.conf delete group1 192.168.1.106

启动顺序:tracker-->storage-->nginx

==========================================================

1、tracker
A、启动命令 :/usr/local/bin/fdfs_trackerd  /etc/fdfs/tracker.conf(tracker的配置文件路径)
B、重启命令:/usr/local/bin/restart.sh  /usr/local/bin/fdfs_trackerd /usr/local/config/tracker.conf (tracker的配置文件路径)

2、storage
A、启动命令:/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf (storage配置文件路径)
B、重启命令:/usr/local/bin/restart.sh :/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf (storage配置文件路径)

3、重启nginx: /usr/local/nginx/sbin/nginx -s reload

4、参考:

http://www.cnblogs.com/zhoulf/archive/2013/02/09/2909653.html

http://blog.csdn.net/yl_wh/article/details/8784569

http://blog.chinaunix.net/uid-20196318-id-4058561.html

http://baike.sogou.com/h60583131.htm?sp=l60583132

查看文件依赖关系:

=================================================================

遇到问题:

./fdfs_trackerd: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory解决办法:

1 >whereis libevent-2.0.so.5

/usr/local/lib/libevent-2.0.so.5

2>ln -s /usr/local/lib/libevent-2.0.so.5 /lib64

参考:http://blog.sina.com.cn/s/blog_6d09b5750100vqow.html

====================================================================

双storage,单tracker时,如下图:大部分场景下,单tracker+多storage足够满足大部分需求了

===================================================================

多tracker+多storage集群参考:http://my.oschina.net/xiejunbo/blog/726192

 

 

© 著作权归作者所有

共有 人打赏支持
xiejunbo
粉丝 41
博文 150
码字总数 132363
作品 0
广州
后端工程师
浅析FastDFS及所遇问题集锦

一、FastDFS简介 FastDFS(最新版本v3.04)是一个开源的轻量级分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过专有API对文件进行存取访问,不支持POSIX接口方...

Edwyn王
2015/11/04
0
0
搭建FastDFS分布式存储环境(使用Nginx模块)

上次搭建FastDFS使用的版本是v4.05,见http://www.linuxidc.com/Linux/2014-10/107592.htm 这个版本已经比较旧了 最新的版本是v5.04,由于作者重构了代码,所以安装过程还是有一些不一致. 最新...

凯文加内特
2015/04/01
0
0
FastDFS安装使用实战二(配置篇)

一、FastDFS简介 FastDFS是一个个人开发的、轻量级的、开源的分布式文件系统,纯C语言编写,其功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡...

凯文加内特
2015/03/30
0
0
【FastDFS】FastDFS分布式文件系统安装手册(单机版)

一、前言 FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用,高性能等指标。使用FastDFS很容易搭建...

qq_26545305
04/24
0
0
FastDFS安装 --> 测试

自己闲着没事,在小黑上虚拟了 4 个 centos 64 的系统,用来安装分布式 fastdfs 、 nginx 负载均衡,过程一路艰辛,搞了一个通宵都没弄好,终于在第二天的傍晚终于弄好了,记录一下过程。 有...

shking
2013/10/05
0
0
FastDFS安装使用实战一(安装篇)

最近在研究负载均衡和集群,其中涉及到一个主要问题是,如何让集群中的real server共享一套文件系统。在网上查到FastDFS,国人(happy fish,感谢他的开源精神)开发的一套轻量级分布式文件系...

凯文加内特
2015/03/30
0
0
CentOS7搭建FastDFS+Nginx

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

ygqygq2
06/29
0
0
Ubuntu 14.04下部署FastDFS 5.08+Nginx 1.13.0

环境 Ubuntu 14.04 用户 admin 数据目录: /fastdfs 安装包:FastDFS v5.05 一、下载安装libfastcommon 1.1、上传或下载 libfastcommon-master.zip 到/usr/local/src 目录 1.2、解压 1.3、编...

paascloud
2017/05/29
0
0
Fastdfs分布式文件存储系统架构剖析及分布式集群环境的配置

===============分布式文件存储系统Fastdfs架构解析======================== FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能...

xiejunbo
2015/06/30
0
0
centos搭建FastDFS服务器!

CentOS fastDFS结合nginx的配置以及php端的调用方法 2013-04-18 22:54:55| 分类: 默认分类 | 标签:centos fastdfs nginx php |字号 订阅 fastDFS的介绍就不说了 想了解的人直接百度。 源码...

求学ing
2013/09/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部