nginx的server_names_hash_bucket_size问题
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,之前nginx可以正常启动的,后来为了测试方便,就增加多了一些域名也都转向到相同的upstream里面,启动不起来。去logs/errors.log查看,发现如下字样:could not build
千家信息网最后更新 2025年12月02日nginx的server_names_hash_bucket_size问题
保存服务器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果 hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键 值。因此,如果Nginx给出需要增大 hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.
之前nginx可以正常启动的,后来为了测试方便,就增加多了一些域名也都转向到相同的upstream里面,启动不起来。
去logs/errors.log查看,发现如下字样:
could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
原来是由于增加多域名后,在默认大小下已经不能正常hash存储了,需要去修改此参数的大小。
修改conf/nginx.conf中的http节为如下示例
http {
server_names_hash_bucket_size 64;
include mime.types;
default_type application/octet-stream;
.....省略
此处为了以后增加方便,没有直接修改为日志中提示的32大小,而是直接修改为64了
再次启动,正常运行
保存服务器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果 hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键 值。因此,如果Nginx给出需要增大 hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.
大小
参数
处理器
处理
存储
内存
单元
是在
次数
缓存
提示
相同
倍数
再次
名字
地址
域名
多域名
字样
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学编程还是软件开发好
软件开发承诺书简版
30岁转行做软件开发
常州电子网络技术哪个好
网络安全周专题会议讲话
龙华软件开发招应届毕业生
数据库的图片无法
服务器主板没电了
nginx隐藏web服务器
群星联机显示无法加入服务器
网络安全观后感结尾怎么写
股票配资软件开发合法吗
能源网络安全现状
软件开发项目管理推进进度
余杭网络技术学校
太仓鼎捷软件开发
数据库中蕴含的思政元素
济南计算机软件开发哪家好
通用网络安全防护措施
计算机网络技术接续本科专业课
原神tw服务器是国际服吗
服务器宝宝排行榜
csmar数据库股权价值
武大的网络安全研究生咋样
网络安全审查是底线
军运会志愿者网络安全
福尔摩斯下载软件开发
中科院软件开发厉害吗
软件开发题库app
星际争霸2哪个服务器水平最高