Jestem w trakcie konfigurowania nowego serwera. Wybrany przeze mnie serwer http to NGINX. Chcę dodać domenę audi-freunde-einbeck.de
jako wirtualnego hosta. Mam już tam 2 inne domeny i działa dobrze, ale kiedy próbuję dodać wyżej wymienioną domenę i uruchomić serwer, to mi się wydaje Job failed. See system journal and 'systemctl status' for details.
, że to z powodu myślników, więc wypróbowałem tylko różne inne domeny z myślnikami i bez , ale bez szczęścia. Ten sam błąd. co może być tego przyczyną? Próbowałem też zrestartować komputer, naprawdę jestem zagubiony. Każda pomoc byłaby bardzo mile widziana.
Trochę się pobawiłem i odkryłem, że kiedy wstawię tylko jedną domenę, to działa. Ale kiedy wstawiam inną domenę, przestaje. Oto wyjście w stanie:
[root@netzmelone nginx]# systemctl status nginx
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since Sun, 16 Dec 2012 11:38:08 +0000; 7s ago
Process: 14239 ExecStop=/usr/sbin/nginx -g pid /run/nginx.pid; -s quit (code=exited, status=1/FAILURE)
Process: 14232 ExecStart=/usr/sbin/nginx -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 14242 ExecStartPre=/usr/sbin/nginx -t -q -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=1/FAILURE)
Main PID: 14234 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/nginx.service
Dec 16 11:38:08 netzmelone nginx[14242]: nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
Dec 16 11:38:08 netzmelone nginx[14242]: nginx: configuration file /etc/nginx/nginx.conf test failed
Odpowiedzi:
Dzieje się tak najprawdopodobniej z powodu długiej nazwy domeny. Możesz to naprawić, dodając
na górze twojego
http
bloku (prawdopodobnie znajduje się w/etc/nginx/nginx.conf
). Cytuję z dokumentacją nginx Co zrobić, gdy pojawi się ten błąd:In this case, the directive value should be increased to the next power of two
. Więc w twoim przypadku powinno być 64.Jeśli nadal pojawia się ten sam błąd, spróbuj zwiększyć do 128 i dalej.
Źródła: http://nginx.org/en/docs/http/server_names.html#optimization
źródło
/etc/nginx/nginx.conf
z uprawnieniami do zapisuserver_names_hash_bucket_size 64;
sudo service nginx restart
Jeśli błąd nadal występuje:
server_names_hash_bucket_size
w krokach 128, 256, 512 i tak dalej (zwiększając za każdym razem o potęgę 2). na przykład.server_names_hash_bucket_size 128;
źródło
64
: SBrzmi to może trochę przypadkowo, ale może pomóc nowicjuszowi nginx, jak ja.
Otrzymałem ten błąd, gdy zostawiłem
;
naserver_name
linii.miał:
naprawić:
Wszystkie dyrektywy w plikach konfiguracyjnych nginx muszą kończyć się znakiem
;
I często zaznaczam
;
s w moim pliku przed zapisaniem / przesłaniem jako ostateczne sprawdzenie po edycji.źródło
Oto jak rozwiązałem:
źródło