FastDFS的高级用法(3)

在storage上安装nginx

简介:

为每个storage节点安装nginx,使其能够通过http协议,展示文件

nginx此时作为storage节点的客户端

仍然使用上一篇的环境,此时tracker,storage,client都已然配置完成

只需要在storage节点上,安装nginx即可

配置nginx为storage server提供http访问接口:

1、下载fastdfs-nginx-module-master (github站点)

fastdfs-nginx-module-master.zip
unzip fastdfs-nginx-module-master.zip

2、下载nginx源码,并编译支持使用fastdfs-nginx-module-master(此处我们使用nginx-1.8.0)

# tar xf nginx-1.8.0.tar.gz
# cd nginx-1.8.0
# useradd -r nginx

# ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf \ 
> --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log > --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock > --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module > --with-pcre --add-module=../fastdfs-nginx-module-master/src

# make && make install

3、复制配置文件

# cp fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
# cp fastdfs-master/conf/http.conf /etc/fdfs/
# cp fastdfs-master/conf/mime.types /etc/fdfs/
    fastdfs-master为fastdfs源码目录(详情可以参考上篇博客)

4、配置/etc/fdfs/mod_fastdfs.conf配置文件,部分指令类似如下所示

base_path=/fdfs/storage
tracker_server=10.1.249.125:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path_count=1
store_path0=/fdfs/storage

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/fdfs/storage


5、配置nginx,编辑nginx.conf,在server中添加类似如下内容:

location ~ /group[0-9]+/M00/ {
    root /fdfs/storage/data/;
    ngx_fastdfs_module;
}

6、为存储文件路径创建链接至M00,此示例中使用的storage_path0为/fdfs/storage/;

# ln -sv /fdfs/storage  /fdfs/storage/M00


7、启动nginx服务即可;

8、上传文件,测试 #(注意:上传文件时,需要为文件带上后缀名)

# fdfs_upload_file /etc/fdfs/client.conf /root/1.jpg 
group1/M00/00/00/CgH5fVhCPIuAZdmyAAAdK1iq5wc145.jpg

9.测试  #在浏览器中访问类似如下路径即可,后面的URL为fid:

http://10.1.249.125/group1/M00/00/00/CgH5fVhCPIuAZdmyAAAdK1iq5wc145.jpg

10.查看文件真实路径

# ls /fdfs/storage/data/00/00/CgH5fVhCPIuAZdmyAAAdK1iq5wc145.jpg
/fdfs/storage/data/00/00/CgH5fVhCPIuAZdmyAAAdK1iq5wc145.jpg
时间: 2024-07-29 03:55:29

FastDFS的高级用法(3)的相关文章

jquery on高级用法

on()的高级用法 针对自己处理机制中,不仅有on方法,还有根据on演变出来的live方法(1.7后去掉了),delegate方法等等.这些方法的底层实现部分 还是on方法,这是利用了on的另一个事件机制委托的机制衍变而来的 委托机制 .on( events ,[ selector ] ,[ data ], handler(eventObject) ) 在on的第二参数中提供了一个selector选择器,简单的来描述下 参考下面3层结构 <div class="left">

Newtonsoft.Json高级用法

手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数据,3G网络下20K下载差不多需要1s,不返回无效数据至少可以节约1s的时间,大大提高用户体验.本篇将为大家

&lt;06&gt;变量使用前易犯错误总结+if语句介绍及基本格式+if-else语句及嵌套+if语句的高级用法+if语句的使用注意点+arc4random_uniform 函数导入一个头文件&lt;stdlib.h&gt;+

1)变量要初始化 -1 0  ,或者1 依据程序而定 ---------------------------------- if语句介绍及基本格式 分支语句结构 1)if 格式: if(表达式/常量/变量){ 语句块1; } 原理: 1)先计算小括号中的表达式的值 真(1) 会执行 大括号中的语句 假(0) 不会执行 大括号中的语句 2) switch 1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 5

JS Replace() 高级用法(转)

在很多项目中,我们经常需要使用JS,在页面前面对前台的某些元素做做修改,js 的replace()方法就必不可少. 经常使用"ABCABCabc".replace("A","B")的同学应该会比较清楚,改语句的最终结果是BBCABC,这种方法只能替换 第一个匹配的元素.如果替换所有呢?使用正则表达式即可: "ABCABCabc".replace(/A/g,"B") 即可. 那如果想替换A的同时也可以替换a呢

Python爬虫的Urllib库有哪些高级用法?

本文和大家分享的主要是python爬虫的Urllib库的高级用法相关内容,一起来看看吧,希望对大家学习python有所帮助. 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它 是一段HTML代码,加 JS.CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服.所以最重要的部分是存在于HTML中的,下面我 们就写个例子来扒一个网页下来. imp

GUN sed高级用法,sed脚本编写

这里举一些sed常用的高级用法例子经供参考: 一下操作都针对file.txt文件作修改 [[email protected] ~]# cat file.txt libgcc-4.4.7-4.el6.x86_64 setup-2.8.14-20.el6_4.1.noarch tzdata-2013g-1.el6.noarch jakarta-commons-collections-3.2.1-3.4.el6.noarch filesystem-2.4.30-3.el6.x86_64 mesa-dr

Git log高级用法

格式化Log输出 首先,这篇文章会展示几种git log格式化输出的例子.大多数例子只是通过标记向git log请求或多或少的信息. 如果你不喜欢默认的git log格式,你可以用git config的别名功能来给你想要的格式创建一个快捷方式. Oneline --oneline标记把每一个提交压缩到了一行中.它默认只显示提交ID和提交信息的第一行.git log --oneline的输出一般是这样的: 0e25143 Merge branch 'feature' ad8621a Fix a b

JAVA正则表达式高级用法(分组与捕获)

正则表达式在字符串处理中经常使用,关于正则简单的用法相信有一点程序基础的人都懂得一些,这里就不介绍简单基础了.这里主要讲解一下在JAVA中实现了的正则的高级用法-分组与捕获.对于要重复单个字符,非常简单,直接在字符后卖弄加上限定符即可,例如 a+ 表示匹配1个或一个以上的a,a?表示匹配0个或1个a.这些限定符如下所示: X ?     X ,一次或一次也没有X *     X ,零次或多次X +     X ,一次或多次X { n }     X ,恰好 n 次X { n ,}     X ,

Android(java)学习笔记264:Android下的属性动画高级用法(Property Animation)

1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了.因此,今天我们就来学习一下属性动画的高级用法,看看如何实现一些补间动画所无法实现的功能. 2. ValueAnimator的高级用法: 在上篇文章中介绍补间动画缺点的时候有提到过,补间动画是只能对