Eu tenho o seguinte host virtual
server
{
server_name abc.example.com;
root /var/www/test/;
index index.html;
}
Ao executar nginx -s reload
, recebo o seguinte erro:
nginx: [emerg] não pôde criar o server_names_hash, você deve aumentar server_names_hash_bucket_size: 32
O mesmo acontece com qualquer nome_do_servidor que possui 15 ou mais caracteres.
Se eu definir o server_name como ab.example.com
(ou qualquer nome com menos de 15 caracteres), o problema deixará de se manifestar.
Para corrigir isso, adicionei o seguinte a /etc/nginx/nginx.conf
(não estava definido antes):
server_names_hash_bucket_size 64;
Configurá-lo para 33 também funcionou, mas não para 32.
Por que o comprimento máximo padrão de 14 caracteres para server_name?
Esse limite é imposto pelas configurações padrão do nginx ou pelo sistema em que ele é executado?
Como um server_name de 15 afeta o tamanho máximo do bucket de hash? (existem apenas 4 hosts virtuais definidos no sistema)
/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size:64
/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size:64
/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size:64
grep "" /sys/devices/system/cpu/cpu?/cache/index?/coherency_line_size
?