nginx 配置若干问题

配置nginx,遇到的几个小问题:

1、

报错信息:

# nginx -t

nginx: [warn] conflicting server name "test.hjq.com" on 0.0.0.0:80, ignored

分析解决:

配置文件中,重复配置了server name : test.hjq.com 。

检查配置文件,去掉重复的,只保留唯一server name。

 

2、

报错信息:

# 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  

分析解决:

server_name  后配置了过多或过长的域名时,会报这个错。

官网有关这问题的说明:

If a large number of server names are defined, or unusually long server names are defined, tuning the server_names_hash_max_size and server_names_hash_bucket_size directives at the http level may become necessary.
The default value of the server_names_hash_bucket_size directive may be equal to 32, or 64, or another value, depending on CPU cache line size.
If the default value is 32 and server name is defined as “too.long.server.name.example.org” then nginx will fail to start and display the error message:   could not build the server_names_hash,   you should increase server_names_hash_bucket_size: 32
In this case, the directive value should be increased to the next power of two:   http {   server_names_hash_bucket_size 64;   ... If a large number of server names are defined, another error message will appear:   could not build the server_names_hash,   you should increase either server_names_hash_max_size: 512   or server_names_hash_bucket_size: 32 In such a case, first try to set server_names_hash_max_size to a number close to the number of server names.
Only if this does not help, or if nginx’s start time is unacceptably long, try to increase server_names_hash_bucket_size.

官方解析:http://nginx.org/en/docs/http/server_names.html

posted @ 2016-07-06 00:19  hjqjk  阅读(337)  评论(0编辑  收藏  举报