浅谈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 ...
随机推荐
- 概念学习 - JNDI, JDBC, ODBC, DataSource
layout: post title: 概念学习 - JNDI, JDBC, ODBC, DataSource --- 最近在学习Java Hibernate,对数据库资源访问这块好多概念模糊,所以在 ...
- NodeJS+express+mogondb学习笔记01
0.准备工作 安装nodejs环境 官网地址:https://nodejs.org/en/ 下载好了 直接一路安装 也没有什么可以说的 不得不说nodejs对于新手上手还是很友好的,再加上现在n ...
- 对java面向对象的初识
我其实一直想写点东西练练自己文笔,今天写下这篇技术类型的文章也没有一个好的格式和章法,但万事开头难,那么就从面向对象开始. 我们大部分人都知道互联网软件的存在,时刻影响了我们的现实生活,那么面向对象的 ...
- Vim安装YouCompletMe插件。
1.Centos7.0自带含有支持python2.x的vim.(:version 后看python+则支持,python-则不支持)若不支持,卸载vim后源码编译安装. yum install pyt ...
- Angular2.js——表单(下)
这部分是接表单上部分的内容,主要内容有: 1.添加自定义的CSS来提供视觉反馈: 2.显示和隐藏有效性验证的错误信息: 3.使用ngSubmit处理表单提交: 4.禁用表单提交按钮. 添加自定义的CS ...
- SSH框架搭建 详细图文教程
转载请标明原文地址 一.什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架. SSH主要用于Jav ...
- Windows10 图标重建
Windows10 图标重建 有没有遇到电脑上某个图标成了黑块,白块或者没有图呢. 那这样的话就可以使用图标重建啦. 删掉Windows10的图标文件如下图 路径: %userprofile%\App ...
- Oracle清除数据库中长时间占用资源的非活动的会话
1.启动资源计划 alter system set resource_limit=true scope=spfile; 2.设置非活动回话十五分钟断开,释放资源 alter profile defau ...
- 用户交互式命令:read
read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开. 语法 read [option]... [name . ...
- OC语言中如何在便利构造器中利用便利初始化进行初始化
因为利用便利初始化在便利构造器中进行初始化,所以要利用便利初始化的声明及实现部分,可与前篇做比较: 1. 主函数部分: 2. 接口部分: 3. 实现部分: 4. 打印结果: 感兴趣的朋友们可自己与前面 ...