1. ホーム
  2. nginx

[解決済み] nginxです。[server_names_hash_bucket_size を大きくする必要があります。

2022-04-28 05:12:15

質問

今、新しいサーバーを立ち上げているところです。http-ServerはNGINXを選択しています。私は、ドメインを追加したい audi-freunde-einbeck.de をバーチャルホストとして使用します。すでに他の2つのドメインが入っていて、それは問題なく動作していますが、上記のドメインを追加してサーバーを起動しようとすると、次のようになります。 Job failed. See system journal and 'systemctl status' for details. ダッシュが原因かと思い、ハイフンあり、なしと他のドメインだけいろいろ試してみましたが、ダメでした。同じエラーです。何が原因なのでしょうか?再起動も試しましたが、本当に途方に暮れています。どんな助けでも非常に感謝されます。

少し遊んでみてわかったのですが、ドメインを1つだけ入れると、うまくいくのです。しかし、別のドメインを入れると、止まってしまいます。以下は、ステータスの出力です。

[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

解決方法は?

この現象は、ドメイン名が長いために起こっている可能性が高いです。この問題を解決するには

server_names_hash_bucket_size  64;

の先頭で http ブロック(おそらく /etc/nginx/nginx.conf ). このエラーが表示されたときの対処法をnginxのドキュメントから引用します。 In this case, the directive value should be increased to the next power of two . ですから、あなたの場合、64になるはずです。

それでも同じエラーが発生する場合は、128とさらに増やしてみてください。

参考にしてください。 http://nginx.org/en/docs/http/server_names.html#optimization