一、环境

centos6.8 x64  IP:192.168.134.128

所需软件包:

libfastcommon-1.0.7.zip,FastDFS_v5.05.tar.gz,nginx-1.7.8.tar.gz,fastdfs-nginx-module_v1.16.tar.gz,pcre-8.12.tar

网上都能找到,这里就不提供原网址了!!!

先安装好需要的依赖环境

 yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng* libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libX* libtiff libtiff* make mpfr ncurses* ntp openssl nasm nasm* openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib*  pcre gcc gcc-c++ vim unzip zip ant git

二、创建目录

mkdir -p /data/{fastdfs_storage_info,fastdfs_storage_data,fastdfs}

fastdfs                tracker 目录

fastdfs_storage_info   storage 日志目录

fastdfs_storage_data   storage 数据目录

  

三、安装libfastcommon

unzip libfastcommon-1.0.7.zip

若提示报错则执行

Yum install unzip zip -y

cd libfastcommon-1.0.7

./make.sh

./make.sh install

建立软连接

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

4、安装fastdfs

 

tar zxf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install
修改启动配置文件
sed -i 's#/usr/local/bin/#/usr/bin/#g' /etc/init.d/fdfs_stornged
sed -i 's#/usr/local/bin/#/usr/bin/#g' /etc/init.d/fdfs_trackerd

五、配置tracker.conf

编译完成后在/etc/fdfs/目录下会生成3个模板配置文件

分别是

Cleant.conf.sample      客户端配置模板

Storage.conf.sample     存储节点配置模板

Tarckerd.conf.sample    跟踪节点配置模板

将3个模板分别复制一次

cd /etc/fdfs
cp cleant.conf.sample cleant.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

1)配置tracker

vi /tracker.conf 主要修改:

base_path=/data/fastdfs //设置tracker的数据文件和日志目录

启动tracker

 /etc/fdfs/tracker.conf restart  

六、配置storage.conf

vim storage.conf
disable=false
group_name=group1  //组名,根据实际情况修改
port=23000  //storage端口号,同一个组的storage端口号必须一致
端口号相同,同组成员类数据同步,数据一致
base_path=/data/fastdfs_storage_info   //storage日志目录
store_path_count=1    //存储路径个数,需要和store_path个数匹配
store_path0=/data/fastdfs_storage_data //存储路径
tracker_server=192.168.134.128:22122

启动storage:

/etc/init.d/fdfs_storaged restart

 netstat -anpt | fdf

 

至此 fastfds 已搭建完成,可以通过内置命令进行上传,下载,删除

下面将结合nginx实现http访问以及下载

七.安装nginx模块

tar zxvf fastdfs-nginx-module_v1.16.tar.gz -c /usr/local/
tar zxvf pcre-8.12.tar -C /usr/local/src/
vim /usr/local/fastdfs-nginx-module/src/config

 去掉这一型代码中的local

编译nginx

./configure
--prefix=/usr/local/nginx  
--add-module=/usr/local/fastdfs-nginx-module/src --with-http_ssl_module
--with-pcre=/usr/local/src/pcre-8.12
make && make install 

vim /usr/local/nginx/conf/nginx.conf

在server段中添加如下内容:

location ~/M00{
                 root /data/fastdfs_storage_data/data;
                 ngx_fastdfs_module;
          }

Nginx配置完毕!!

将http.conf、mod_fastdfs.conf mime.types复制一份到/etc/fdfs/

cp 存放路径/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp 存放路径/fastdfs-5.05/conf/mime.types /etc/fdfs/
cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

 

编辑 mod_fastdfs.conf

vim /etc/fdfs/mod_fastdfs.conf

base_path=/data/fastdfs_storage_info //保存日志目录

tracker_server=192.168.134.128:22122 #若有多个可以写多个

storage_server_port=23000 需要和节点配置文件参数一致

group_name=group1    需要和节点配置文件参数一致

url_have_group_name=true   启动组内成员http功能

store_path_count=1 和store_path数量一致,否则会报错

store_path0=/data/fastdfs_storage_data  //存储节点路径

建立软连接

ln -s /data/fastdfs_storage_data/data /data/fastdfs_storage_data/data/M00

9、测试上传

fdfs_upload_file /etc/fdfs/client.conf  client.conf.sample

如果我们想要通过http下载或者访问

http://192.168.134.128/group1/M00/00/00/wKiGgFd1A02Aeei1AAAFtTzeg5c.sample

谢谢~

  

  

  

 

  

  

 

浅谈Fastfds+nginx结合_单机的更多相关文章

  1. 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异

    Underscore.js是一个很精干的库,压缩后只有5.2KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程. 本文仅探讨Underscore.js的两个 ...

  2. 浅谈 Unserscore.js 中 _.throttle 和 _.debounce 的差异

    来源:http://blog.coding.net/blog/the-difference-between-throttle-and-debounce-in-underscorejs Unsersco ...

  3. 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异[转]

    看的文章来自: https://blog.coding.net/blog/the-difference-between-throttle-and-debounce-in-underscorejs 使用 ...

  4. 浅谈Nginx负载均衡和F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处 ...

  5. 浅谈Nginx负载均衡与F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...

  6. 【转】浅谈Nginx负载均衡与F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...

  7. 安卓开发_浅谈ListView(SimpleAdapter数组适配器)

    安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...

  8. 安卓开发_浅谈Android动画(四)

    Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1.  ValueAnimator 基本属 ...

  9. 安卓开发_浅谈ListView(自定义适配器)

    ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果 有这样一个Demo ...

随机推荐

  1. js日期转化(计算一周的日期)

    之前做项目的时候遇到过一个日期转化的问题,一个日期控件和近一天,近七天和近一月的的联动效果.发现自己不会,后来就百度了一下解决了这个问题. 现在抽空又写了一个时间转化的案例(计算一周的日期),因为之前 ...

  2. 京东商城首页jquery轮播特效

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  3. J2EE struts2MVC应用在线书签1

    序:之前花了一天研究了一下filter,虽然是实现了MVC模式开发了 WebBookmark,但是代码过于冗长,集中在filter中使用if语句不易阅读,为了体现两份作业的不同点,我决定学习 Java ...

  4. 浅谈JavaScript时间与正则表达式

    时间函数:var box = new Date() 函数       Demo:         alert(Date.parse('4/12/2007'));    //返回的是一个毫秒数11763 ...

  5. laytpl--前端数据绑定

    发现一枚前端数据绑定导弹:laytpl,官网:http://www.layui.com/laytpl/ 为了不用angularJS等较为重量级的,和繁琐的配置,所以就用了laytpl,可以配合JQ使用 ...

  6. 被低估的选手 - JavaFx

    被低估的选手 - JavaFx 1.MFC(Visual C++) 个人不是很喜欢这个框架,太多系统定义的东西,就像无底洞,学都学不完,这个东西需要你有比较强的记忆力,并且能融会贯通里面很多预定义的功 ...

  7. Docker 打包 部署

    Docker 打包 部署 一贯的开场白,大家好: 开始学习Spring Boot ,同时也再学习 Maven 自动化构建.  项目的部署环境是 Linux 服务器,Docker容器. 之所以写这篇博客 ...

  8. python-day2 字典

    ===========字典功能=============> dict.clear() -->清空字典 dict.keys() -->获取所有key dict.values() --& ...

  9. document.all 用法

    一. document.all是页面内所有元素的一个集合.例如:        document.all(0)表示页面内第一个元素 二. document.all可以判断浏览器是否是IE     if ...

  10. 学习笔记:javascript内置对象:日期对象

    2.日期对象的常用函数 2.日期对象的常用函数   Date 对象方法 方法 描述 Date() 返回当日的日期和时间. getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31). ...