nginx的server_names_hash_bucket_size问题
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,之前nginx可以正常启动的,后来为了测试方便,就增加多了一些域名也都转向到相同的upstream里面,启动不起来。去logs/errors.log查看,发现如下字样:could not build
千家信息网最后更新 2024年11月25日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安全错误
数据库的锁怎样保障安全
联想服务器虚拟化哪家好
剑网三正在进入服务器列表闪退
如何在服务器里开创造手机
小规模计算机软件开发
郎沃软件开发
澳洲网络安全博士学位
如何开启数据库窗口
十大良心服务器
数据库数据安全性
华为k22E-02服务器
中专计算机网络技术都学什么
湖南通化网络技术有限公司
河南省网络安全产业发展专项基金
数据库工程师能速成吗
网易服务器如何重新获得权限
精灵起源服务器地址
裕邦软件开发有限公司怎么样
河南钣金服务器机柜云主机
网络安全专科录取分数线
地猫互联网科技有限公司
软件开发过程的有效阶段
软件开发专业学校分数线
鼠标宏 软件开发人员
支付宝服务器丢失
u8管理服务器是否启动
怎么将数组的值放入数据库
脏小豆服务器预告片
使用国产网络安全设备的规范要求
筑牢网络安全长城
软件开发签署相关合同模板