IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Nginx: could not build the server_names_hash 解决办法

    vpsee发表于 2015-02-02 12:25:50
    love 0

    上周给一台 Nginx proxy 服务器增加一个虚拟主机名(server_name)后重启 nginx 报错,nginx -t 测试和查看 nginx 错误日志均发现需要增加 server_names_hash_bucket_size 的默认参数:

    # /etc/init.d/nginx reload
     * Reloading nginx configuration nginx                                            [fail]
    
    # nginx -t
    nginx: [emerg] could not build the server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 64
    nginx: configuration file /etc/nginx/nginx.conf test failed
    
    # tail /var/log/nginx/error.log
    2015/01/28 10:21:51 [emerg] 22362#0: could not build the server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 64
    

    解决办法是在 nginx 配置文件的 http 段中增加如下配置:

    # vi /etc/nginx/nginx.conf
    ...
    http {
            ...
            server_names_hash_max_size 512;
            server_names_hash_bucket_size 128;
            ...
    }
    ...
    

    Nginx 官方文档关于 server_names_hash_max_size 和 server_names_hash_bucket_size 这两个参数的用法解释的很清楚。



沪ICP备19023445号-2号
友情链接