http://nginx.org/en/docs/syntax.html上关于“配置文件测量单元”的nginx文档说:
大小可以以字节、千字节(后缀k和K)或兆字节(后缀m和M)指定。
这一点还不清楚,因为千字节被正式定义为1000个字节,兆字节被正式定义为1000000字节,但通常用于分别表示1024字节和1024 * 1024字节。在nginx配置文件中使用的到底是多少千字节?当文档中说默认为1m时,是1000000还是1048576?
发布于 2013-10-01 21:16:52
查看http://hg.nginx.org/nginx/file/15056a29841a/src/core/ngx_parse.c上的源代码(这是1.5.6中的ngx_parse.c版本,但函数在0.3.53版本中显示相同,您可以检查当前版本的这里),它显示为k或K表示1024字节,也就是说,KiB字节(KiB),m或M表示mebi字节(MiB),即1024 KiB。
ssize_t
ngx_parse_size(ngx_str_t *line)
{
u_char unit;
size_t len;
ssize_t size;
ngx_int_t scale;
len = line->len;
unit = line->data[len - 1];
switch (unit) {
case 'K':
case 'k':
len--;
scale = 1024;
break;
case 'M':
case 'm':
len--;
scale = 1024 * 1024;
break;
default:
scale = 1;
}
size = ngx_atosz(line->data, len);
if (size == NGX_ERROR) {
return NGX_ERROR;
}
size *= scale;
return size;
}https://serverfault.com/questions/543099
复制相似问题