新しいサーバーをセットアップしています。私が選択した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になるはずです。
リファレンス: http://nginx.org/en/docs/http/server_names.html#optimization
/etc/nginx/nginx.conf
を書き込み権限で開きますserver_names_hash_bucket_size 64;
を追加しますSudo service nginx restart
を再起動しますそれでもエラーが続く場合:
server_names_hash_bucket_size
を増やします(毎回2の累乗で増加します)。例えば。 server_names_hash_bucket_size 128;
これはおそらく少しランダムに聞こえますが、それは私のようなnginx newbを助けるかもしれません。;
行のserver_name
を中断したときにこのエラーが発生しました。
持っていました:
server_name www.mydomain.com
access_log /var/log/nginx/www.mydomain.com;
修正:
server_name www.mydomain.com;
access_log /var/log/nginx/www.mydomain.com;
Nginx構成ファイル内のすべてのディレクティブは、;
で終わる必要があります
編集後の最終チェックとして保存/アップロードする前に、ファイルで;
sを強調表示することがよくあります。