Je suis en train de configurer un nouveau serveur. Le serveur http de mon choix est NGINX. Je veux ajouter le domaine audi-freunde-einbeck.de
en tant qu'hôte virtuel. J'ai déjà 2 autres domaines là-dedans et cela fonctionne très bien, mais lorsque j'essaie d'ajouter le domaine mentionné ci-dessus et de démarrer le serveur, il me donne Job failed. See system journal and 'systemctl status' for details.
Je pensais que c'était à cause des tirets, alors j'ai essayé juste plusieurs autres domaines avec et sans tirets, mais pas de chance. Même erreur. Qu'est-ce qui peut causer cela? J'ai aussi essayé de redémarrer, je suis vraiment perdu ici. Toute aide serait grandement appréciée.
J'ai joué un peu et découvert que, lorsque je ne mets qu'un seul domaine, cela fonctionne. Mais quand je mets un autre domaine, ça s'arrête. Voici la sortie en statut:
[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
Cela se produit très probablement en raison du nom de domaine long. Vous pouvez résoudre ce problème en ajoutant
server_names_hash_bucket_size 64;
en haut de votre bloc http
(probablement situé dans /etc/nginx/nginx.conf
). Je cite la documentation de nginx que faire lorsque cette erreur apparaît: In this case, the directive value should be increased to the next power of two
. Donc, dans votre cas, cela devrait devenir 64.
Référence: http://nginx.org/en/docs/http/server_names.html#optimization
/etc/nginx/nginx.conf
avec des droits d'écritureserver_names_hash_bucket_size 64;
Sudo service nginx restart
Si l'erreur persiste:
server_names_hash_bucket_size
aux étapes 128, 256, 512, etc. (en augmentant chaque fois d'une puissance de 2). par exemple. server_names_hash_bucket_size 128;
Cela semble peut-être un peu aléatoire, mais cela pourrait aider un nouveau nginx comme moi.
J'ai eu cette erreur lorsque j'ai laissé un ;
sur le server_name
ligne.
eu:
server_name www.mydomain.com
access_log /var/log/nginx/www.mydomain.com;
réparer:
server_name www.mydomain.com;
access_log /var/log/nginx/www.mydomain.com;
Toutes les directives dans les fichiers de configuration nginx doivent se terminer par un ;
Je souligne souvent ;
s dans mon fichier avant l'enregistrement/le téléchargement comme vérification finale après la modification.