Ich habe den folgenden virtuellen Host
server
{
server_name abc.example.com;
root /var/www/test/;
index index.html;
}
Beim Laufen nginx -s reload
bekomme ich folgende Fehlermeldung:
nginx: [emerg] konnte den server_names_hash nicht erstellen. Sie sollten den server_names_hash_bucket_size: 32 erhöhen
Gleiches gilt für jeden Servernamen mit 15 oder mehr Zeichen.
Wenn ich den Servernamen auf ab.example.com
(oder einen beliebigen Namen unter 15 Zeichen) setze, tritt das Problem nicht mehr auf.
Um dies zu beheben, habe ich Folgendes hinzugefügt /etc/nginx/nginx.conf
(es wurde vorher nicht definiert):
server_names_hash_bucket_size 64;
Die Einstellung auf 33 hat auch funktioniert, aber nicht auf 32.
Warum beträgt die Standardlänge für Servername maximal 14 Zeichen?
Wird dieses Limit durch die Standardeinstellungen von nginx oder durch das System vorgegeben, auf dem es ausgeführt wird?
Wie wirkt sich ein Servername von 15 auf die maximale Hash-Bucket-Größe aus? (Auf dem System sind nur 4 virtuelle Hosts definiert.)
/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
?