我正在设置一个新的服务器。我选择的http-Server是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发布于 2012-12-17 07:23:32
这很可能是因为域名太长。可以通过添加以下内容来修复此问题
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
发布于 2018-06-12 17:35:07
使用write privileges
server_names_hash_bucket_size 64;
sudo service nginx restart
打开/etc/nginx/nginx.conf
如果错误仍然存在:
server_names_hash_bucket_size,依此类推(每次增加2的幂)。例如:每次对nginx执行server_names_hash_bucket_size 128;发布于 2018-11-16 14:39:58
这听起来可能有点随机,但它可能会对我这样的nginx新手有所帮助。
当我在server_name行上遗漏了一个;时,我得到了这个错误。
had:
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,作为编辑后的最终检查。
https://stackoverflow.com/questions/13895933
复制相似问题