浅谈Fastfds+nginx结合_单机
一、环境
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结合_单机的更多相关文章
- 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异
Underscore.js是一个很精干的库,压缩后只有5.2KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程. 本文仅探讨Underscore.js的两个 ...
- 浅谈 Unserscore.js 中 _.throttle 和 _.debounce 的差异
来源:http://blog.coding.net/blog/the-difference-between-throttle-and-debounce-in-underscorejs Unsersco ...
- 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异[转]
看的文章来自: https://blog.coding.net/blog/the-difference-between-throttle-and-debounce-in-underscorejs 使用 ...
- 浅谈Nginx负载均衡和F5的区别
前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处 ...
- 浅谈Nginx负载均衡与F5的区别
前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...
- 【转】浅谈Nginx负载均衡与F5的区别
前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...
- 安卓开发_浅谈ListView(SimpleAdapter数组适配器)
安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...
- 安卓开发_浅谈Android动画(四)
Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1. ValueAnimator 基本属 ...
- 安卓开发_浅谈ListView(自定义适配器)
ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果 有这样一个Demo ...
随机推荐
- IOS 私有变量 私有属性的书写方法
一.早期只能定义在.h文件中.用@private 关键字来定义私有变量. @interface ViewController{ @private Bool _isBool; } @end 二.允许在. ...
- HTTP 协议
HTTP 协议对应 Web 开发者来说都必须要了解的,无论技术背景或首选编程语言是什么,"请求-响应" 对话是驱动 Web 上通信的基础. HTTP 概述 HTTP 协议是 Hyp ...
- LeetCode 327. Count of Range Sum
无意看到的LeetCode新题,不算太简单,大意是给一个数组,询问多少区间和在某个[L,R]之内.首先做出前缀和,将问题转为数组中多少A[j]-A[i] (j>i)在范围内. 有一种基于归并排序 ...
- java Http消息传递之POST和GET两种方法
/** * 通过Get方法来向服务器传值和获取信息, * 这里举例假设的前提是,链接上服务器,服务器直接发送数据给本地 * * 大体的思路: * 1.首先通过URL地址来获得链接的借口 * 通过接口, ...
- .NET跨平台实践:再谈用C#开发Linux守护进程
Linux守护进程是Linux的后台服务进程,相当于Windows服务进程,对于为Linux开发服务程序的朋友来说,Linux守护进程相关技术是必不可少的,因为这个技术不仅仅是开发守护进程,还可以拓展 ...
- 基础才是重中之重~关于ThreadStatic和Quartz的一点渊源
回到目录 ThreadStatic ThreadStatic是C#里的一个特性,它可以让你的字段在一个线程里有效,但你不能控制这个字段在何时被回收,即如果声明一个int32的字段为ThreadStat ...
- Angular2.js——数据显示
显示数据,即属性绑定机制把数据显示到用户界面上. 在Angular中最典型的数据显示方式,就是把HTML模板中的控件绑定到Angular组件的属性. 接下来介绍几种数据显示的语法和代码片段. 使用插值 ...
- Java中四种遍历List的方法
package com.ietree.basic.collection.loop; import java.util.ArrayList; import java.util.Iterator; imp ...
- 为RecyclerView的item之间设置相同的间距
项目中经常碰到列表当中的每一项之间需要设置间距的问题,我们可以通过给列表中的每一项设置margin值来实现,例如纵向的间距可以给每一项设置right_margin,这种方法下,整个列表的最左边会紧贴屏 ...
- poj2785双向搜索
The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, compute ...