1、sheepdog中http simple storage中nginx后台配置文件模板留存:

events {

worker_connections 1024;
}

http {
server {
listen 80;
server_name localhost;

location / {
fastcgi_pass localhost:8000;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param HTTP_RANGE $http_range;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param REQUEST_URI $request_uri;
}
}

client_max_body_size 0;
}

2、sheepdog中HTTP API未实现POST操作,但已实现GET、HEAD、DELETE、PUT操作。

3、客户端可使用httpie(linux)或者libcurl等。

其中httpie安装(ubuntu)使用如下:

pip install --upgrade httpie

$ http PUT http://localhost/v1/mandy # create a user account named 'mandy'
$ http PUT http://localhost/v1/mandy/books # create a book container for 'mandy'
$ http PUT http://localhost/v1/mandy/movies # create a movie container for 'mandy'
$ http GET http://localhost/v1/mandy # to see what containers 'mandy' has
$ http PUT http://localhost/v1/mandy/books/yourbookname < yourbook # upload your book
$ http PUT http://localhost/v1/mandy/movies/yourmoviename < yourmovie
$ http HEAD http://localhost/v1/mandy/movies/ # Get the statistics of movie container
$ http GET http://localhost/v1/mandy/books/yourbookname > yourbook # Download your book
$ http DELETE http://localhost/v1/mandy/books/yourbookname # delete the book in the container

4、HTTP浏览器客户端调用PUT时,如若提示跨域问题,一般方案可使用JSONP解决;但在实践中,通过nginx中配置OPTIONS操作的返回值来实现,因为浏览器端发送HTTP PUT之前会发送OPTIONS进行校验。

附(编译sheepdog0.9.2):

编译过程中出现权限拒绝,请改(递归目录可使用-R)目录权限(为方便可改为777或+x)

sheepdog 0.9.2

sudo apt-get install libfuse-dev
sudo apt-get install yasm
apt-get install libcurl4-gnutls-dev
apt-get install nginx
apt-get install lighttpd
./autogen.sh
./configure --enable-http
make
make install

出现error while loading shared libraries:libfcgi.so.0
编辑文件 /etc/ld.so.conf添加一行:
------
/usr/local/lib/
------

然后刷新一下:
ldconfig
执行如下指令查看:
ldconfig -p | grep libfcgi.so.0

修改配置文件后开启服务
nginx -c /etc/nginx/nginx.conf

目前仅支持local和zookeeper 1.4.5 or plus
sheep -c local -r swift

collie cluster format -c 1

Sheepdog HTTP API的更多相关文章

  1. 分布式存储系统sheepdog

    Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...

  2. 【分布式存储系统sheepdog 】

    Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...

  3. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  4. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  5. 几个有趣的WEB设备API(二)

    浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...

  6. html5 canvas常用api总结(三)--图像变换API

    canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...

  7. JavaScript 对数据处理的5个API

    JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...

  8. ES5对Array增强的9个API

    为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...

  9. javascript的api设计原则

    前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...

随机推荐

  1. Redis实战之征服 Redis + Jedis + Spring (一)

    Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: Redis实战 Re ...

  2. 7Zip 来备份重要文件(夹)

    body { font-family: 宋体,Georgia,Helvetica,Arial,sans-serif,宋体,serif; font-size: 10.5pt; line-height: ...

  3. [Practical Git] Diagnose which commit broke something with git bisect

    Sometimes you find a bug in your project that has been around for a while without being noticed; it ...

  4. AIR 程序开发系列 之五 保存数据的几种方式

    Local SharedObject 这种方法比较简单方便的保存少的数据到到设备中.你不用自己去管理这些数据,设备会自动管理他. SharedObject 在 flash.net 包中,继承自Even ...

  5. github fork项目后,代码更新

    协助约定 每个人都可以fork一份自己的repo,所有的修改都在自己私有的repo上进行:修改完成,测试通过后通过给主repo发pull request请求合并:主repo(Johnqing/n.js ...

  6. How-to Dump Keys from Memcache--reference

    Submitted by Lars Windolf on 19. October 2012 - 21:53 http://lzone.de/dump%20memcache%20keys You spe ...

  7. BeanFactory与FactoryBean

    1. BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是Spring IOC 所遵守的最底层和最基本的编程规范.在  ...

  8. 模拟HTTP请求的一个工具

    在看洪大师的Symfony2的视频教程时,提到一个模拟HTTP请求的工具,HTTPie工具,比Curl好用哦

  9. smarty中的变量使用

    在模板中输出动态数据可以用{},所以容易与css中的标签相互冲突,所以使用{literal}{/literal}标签包起来就不会用模板的解析方式解析,变量的来源有三种,用assign方法赋值,系统保留 ...

  10. 一个用ASP生成html的新方法

    目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了.^_^ ...