Я настраиваю новый сервер. Я выбрал http-сервер NGINX. Я хочу добавить домен audi-freunde-einbeck.de
в качестве виртуального хоста. У меня уже есть 2 других домена, и он работает нормально, но когда я пытаюсь добавить вышеупомянутый домен и запускать сервер, он дает мне, Job failed. See system journal and 'systemctl status' for details.
я думал, что это из-за тире, поэтому я пробовал просто разные другие домены с дефисами и без них , но не повезло. Та же ошибка. Что может быть причиной этого? Я тоже пробовал перезагрузку, тут реально в недоумении. Любая помощь будет принята с благодарностью.
Я немного поигрался и обнаружил, что когда я помещаю только один домен, он работает. Но когда я вставляю другой домен, он останавливается. Вот результат в статусе:
[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
Ответы:
Скорее всего, это происходит из-за длинного доменного имени. Вы можете исправить это, добавив
в верхней части вашего
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
источник
/etc/nginx/nginx.conf
с правами записиserver_names_hash_bucket_size 64;
sudo service nginx restart
Если ошибка не исчезла:
server_names_hash_bucket_size
с шагом 128, 256, 512 и т. д. (увеличивая каждый раз в степени 2). например.server_names_hash_bucket_size 128;
источник
64
: SВозможно, это звучит немного случайно, но это может помочь новичку в nginx, подобному мне.
Я получил эту ошибку, когда остановился
;
наserver_name
линии.было:
исправить:
Все директивы в конфигурационных файлах nginx должны заканчиваться символом, который
;
я часто выделяю
;
в моем файле перед сохранением / загрузкой в качестве окончательной проверки после редактирования.источник
Вот как я решил:
источник