nginx 文件服务器 开源,在开源分布式文件系统MogileFS 中使用 Nginx

然后修改你的 mogstored.conf 这个文件,关掉原来的 Perlbal 的监听。但注意了 mogstored 这个服务还是必须启动的,因为他会监控硬盘的好坏和 IO 的性能,只要给 server=none 就行了,就不会启动了。server=none

mgmtlisten=0.0.0.0:7501

docroot=/var/mogdata

这个可以打开 Nginx 的日志来进行 debug 。可以观查下列状态代码:

201 (Created):源资源被成功移动,在目标上创建了一个新资源.这个使用 Nginx 后日志中会常常见到。

204 (No Content):源资源被成功地移动到一个预先存在的目标资源上。

403 (Forbidden):这个错误表明至少出现以下两种情况之一:

1) 服务器不允许在其名称空间中的给定位置上创建集合。

2) Uniform Resource Indicator (URI) 请求的父集合存在,但是不接受成员。

405 (Method Not Allowed): mkcol() 方法只能在被删除或不存在的资源上执行,所以文件夹存在使用这个时会报这个。

409 (Conflict):只有在创建了一个或多个中间集合之后才能在目标上建立集合。

412 (Precondition Failed):服务器不能维持 propertybehavior XML 属性中列出的属性的存活,或者 Overwrite 的头是 F,目标资源的状态不为 null。

415 (Unsupported Media Type):服务器不支持主体的请求类型。

423 (Locked):源资源或目标资源被锁。

502 (Bad Gateway):当目标在另一台服务器上,且目标服务器拒绝接受资源时,将出现这种错误。

507 (Insufficient Storage):在执行该方法后资源没有足够的空间来记录资源的状态。

FQA:如果 Nginx 的错误日志报如下错误:2012/03/12 17:51:05 [error] 7090#0: *299695 mkdir() "/var/mogdata/dev16/0/000/081" failed (17: File exists), client: 192.168.1.233, server: , request: "MKCOL /dev16/0/000/081/ HTTP/1.0"

可以直接到配置文件中给dav_methods put delete mkcol copy move;

修改成dav_methods put delete copy move;

这时就不会报这个错了,记得 create_full_put_path 这个参数一定要打开才行.这样性能也会好些。0b1331709591d260c1c78e86d0c51c18.png