浅谈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 ...
随机推荐
- 【HDOJ 1086】 模板水过
You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3 ...
- 在Oracle中添加用户登录名称
第一步,打开Oracle客户端单击 “帮助”-->"支持信息"-->”TNS名“,加入红色部分.页面如下: 第二步,再次打开Oracle客户端时,就会显示数据库了,只需 ...
- Linux学习(一)
Linux系统 1.组成部分 1.1内核负责的功能 1.1.1:系统内存管理 内存管理即管理物理内存和虚拟内存 (通过硬盘实现的,即swap space),长时间为被访问的内存块会被放到虚拟内存中,当 ...
- 我们一起学Docker(一)
一.什么是Docker? Docker是一个基于LXC(Linux Container,Linux容器),以及cgroup的上层工具,通过对LXC,cgroup及相关系统命令的封装,使得用户可以非常方 ...
- mybatis中oracle实现分页效果
首先当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致 ...
- 需求收集实例 二 之 GF Phase 2
GF Phase 2 做B2B的site, 需求收集过程与 需求收集过程实例之 - GF Phase 1主要的不同是在phase 1 开发在需求规格文档敲定后开始,而phase 2 把feature ...
- LINQ TO XML初步了解
最近简单的学习了一下LINT TO XML,写篇博客在这,方便以后查看~~ 1.常用到的类 XmlDocument -- 文档(xml文件) XmlElement -- ...
- JS作用域就这么几句话
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...
- JS模式--通用对象池的实现
var objectPoolFactory = function (createObjFn) { var objectPool = []; return { create: function () { ...
- jQuery选择器与CSS选择器
1. 通过位置选择的几个操作: :first:默认情况下是相对整个页面来说的第一个,如:li:first表示整个页面的第一个li元素,而ul li:first表示整个页面的第一个li元素,并且是在ul ...