Nginx could not build the server_names_hash 错误的解决办法

 更新时间:2014年03月16日 16:33:48   作者:  
这篇文章主要介绍了Nginx could not build the server_names_hash 错误的解决办法,需要的朋友可以参考下

在给nginx 配置了一个超长的域名后,通过 /usr/local/nginx/sbin/ngnix -t 检查配置文件时出现一下错误:

复制代码 代码如下:
could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32

解决办法是在nginx的配置文件的http段中增加如下配置:
复制代码 代码如下:
server_names_hash_bucket_size 64;

如果已经存在,需要加大后面的数值,注意:该数值是32的倍数为宜。
下面是nginx官方文档:
复制代码 代码如下:
如果定义了大量名字,或者定义了非常长的名字,那可能需要在http配置块中使用server_names_hash_max_size和server_names_hash_bucket_size指令进行调整。server_names_hash_bucket_size的默认值可能是32,或者是64,或者是其他值,取决于CPU的缓存行的长度。如果这个值是32,那么定义“too.long.server.name.example.org”作为虚拟主机名就会失败,而nginx显示下面错误信息:

could not build the server_names_hash,
you should increase server_names_hash_bucket_size: 32
出现了这种情况,那就需要将指令的值扩大一倍:

http {
    server_names_hash_bucket_size  64;
    ...
如果定义了大量名字,得到了另外一个错误:

could not build the server_names_hash,
you should increase either server_names_hash_max_size: 512
or server_names_hash_bucket_size: 32
那么应该先尝试设置server_names_hash_max_size的值差不多等于名字列表的名字总量。如果还不能解决问题,或者服务器启动非常缓慢,再尝试提高server_names_hash_bucket_size的值。

相关文章

  • nginx反向代理java项目方式

    nginx反向代理java项目方式

    文章简要介绍了如何使用Nginx作为反向代理来部署Java项目,核心在于配置proxy_pass指令
    2024-12-12
  • 使用Nginx为自己的网站资源加上防盗链保护实现

    使用Nginx为自己的网站资源加上防盗链保护实现

    这篇文章主要为大家介绍了使用Nginx为自己的网站资源加上防盗链保护实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Nginx的一些常用配置与技巧总结

    Nginx的一些常用配置与技巧总结

    这篇文章主要给大家总结介绍了关于Nginx的一些常用配置与技巧的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 详解Prometheus 抓取 nginx 访问日志的指标

    详解Prometheus 抓取 nginx 访问日志的指标

    通过结合NGINX Exporter, Fluentd, Prometheus和Grafana, 可有效监控并可视化NGINX中的4xx和5xx状态码日志,首先使用Fluentd收集和解析NGINX日志,再通过Prometheus抓取Fluentd暴露的指标,本文介绍Prometheus抓取nginx访问日志的指标,感兴趣的朋友一起看看吧
    2024-10-10
  • nginx处理http请求实现过程解析

    nginx处理http请求实现过程解析

    这篇文章主要介绍了nginx处理http请求实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Linux中Nginx反向代理如何实现不同路径访问不同的页面

    Linux中Nginx反向代理如何实现不同路径访问不同的页面

    这篇文章主要介绍了Linux中Nginx反向代理如何实现不同路径访问不同的页面方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Nginx中的root和alias指令示例详解

    Nginx中的root和alias指令示例详解

    Nginx是一种高性能的Web服务器软件,其中root和alias是用于配置资源位置的两个指令,root指令用于设置资源的根目录,而alias指令则为特定location设置路径别名,root适用于整体目录结构,alias适合细粒度路径控制,本文详解这两个指令的用途及区别
    2024-10-10
  • Nginx配置防盗链保护静态资源的详细教程

    Nginx配置防盗链保护静态资源的详细教程

    防盗链是一种通过检查 HTTP 请求头中的 Referer 字段来限制资源访问的技术,常用于保护图片、视频等静态资源不被其他网站直接引用,以下是Nginx防盗链的原理、配置步骤以及测试方法,帮助你快速配置和验证防盗链功能,需要的朋友可以参考下
    2025-02-02
  • Nginx 配置过程的具体步骤

    Nginx 配置过程的具体步骤

    这篇文章主要介绍了Nginx 配置过程的详细介绍的相关资料,希望通过本文能帮助到大家,让大家掌握如何配置Nginx,需要的朋友可以参考下
    2017-10-10
  • Nginx 499错误问题及解决办法

    Nginx 499错误问题及解决办法

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,接下来通过本文给大家介绍Nginx 499错误问题及解决办法,一起看看吧
    2016-06-06

最新评论