全部博文(167)
分类: 系统运维
2010-07-08 16:43:01
在标准的nginx安装中增加支持MogileFS的模块,
vkholodkov-nginx-mogilefs-module-249f2b0
mogilefs_pass [
使用范围:server,location,limit_except
向MogileFS tracker查找URI中指定的关键字,关键字能包含任何变量。如果省略了关键字,MogileFS tracker会把URI中的某个部分当做一个关键字
例如:
location /download/ {
mogilefs_pass {
[……]
}
}
在这个配置例子中,如果请求的URI是/download/example.jpg,MogileFS 会以example.jpg作为关键字去请求资源。
在pmogilefs_pass中的配置模块里面,能定义如何从storage nod取该文件。例如:
mogilefs_pass {
proxy_pass $mogilefs_path;
proxy_hide_header Content-Type;
proxy_buffering off;
}
$mogilefs_path变量包含了存储在storage 节点中的文件的URL。当proxy中的模块会封装好一个隐藏的名字为mogilefs_fetch_xxxxxx供MogileFS tracker成功相应后使用。例如
mogilefs_pass {
proxy_pass $mogilefs_path;
proxy_hide_header Content-Type;
proxy_buffering off;
}
mogilefs_methods <[[method 1] method 2 ... ]>
定义那种方法操作MogileFS。GET从MogileFS获取相应资源,PUT新建或替代资源,DELETE从MogileFS中删除资源。
mogilefs_domain
mogilefs_class
mogilefs_tracker
mogilefs_connect_timeout 连接tracker超时的时间;不能大于75秒。
mogilefs_send_timeout 定义传输数据到MogileFS tracker的超时时间,如果tracker超过这个时间没有接收到数据,nginx就会关闭该链接。
mogilefs_read_timeout 更上面的属性的数据传输方向刚好相反。
(参考网址: )
以下是我线上图片服务器nginx的其中一段配置:
server {
listen 7070;
expires 1M;
location ~ ^/images/upload/upc/face/ {
rewrite /(.*) $1 break;
mogilefs_tracker 192.168.237.203:6001;
mogilefs_domain imgdomain;
mogilefs_methods get;
mogilefs_pass {
proxy_pass $mogilefs_path;
proxy_hide_header Content-Type;
proxy_buffering off;
}
error_page 404 = /DEFAULT$request_uri;
}
}
这个过过程中error_page 404 必须这样做配置,否则获取不到404状态码。
|
该文的原文档可以在http://blog.chinaunix.net/u3/102731/showart_2262702.html取到。