指引网

当前位置: 主页 > 服务器 > Nginx >

Nginx: 提示 could not build the server_names_hash 错误如何

来源:网络 作者:佚名 点击: 时间:2017-06-13 21:33
[摘要]  在给 Nginx 服务器加一个虚拟主机名重启后报错:could not build the server_names_hash,后在修改了 nginx 配置文件才弄好,以下来看整个过程。

上周给一台 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 这两个参数的用法解释的很清楚。

官方链接: http://nginx.org/cn/docs/http/server_names.html

------分隔线----------------------------