我正在设置新服务器.我选择的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
Run Code Online (Sandbox Code Playgroud)
jag*_*ler 130
由于域名较长,很可能会发生这种情况.您可以通过添加来解决此问题
server_names_hash_bucket_size 64;
Run Code Online (Sandbox Code Playgroud)
在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在步骤128,256,512,等等(通过每次2的功率增加)。例如。server_names_hash_bucket_size 128;这听起来可能有点随意,但它可能对像我这样的 nginx 新手有所帮助。
当我离开一个我得到这个错误;就server_name行。
有:
server_name www.mydomain.com
access_log /var/log/nginx/www.mydomain.com;
Run Code Online (Sandbox Code Playgroud)
使固定:
server_name www.mydomain.com;
access_log /var/log/nginx/www.mydomain.com;
Run Code Online (Sandbox Code Playgroud)
在保存/上传作为编辑后的最终检查之前,nginx 配置文件中的所有指令必须以;
我经常突出显示;文件中的 s结尾。
我是这样解决的:
cd /etc/nginx/
sudo nano nginx.conf
Run Code Online (Sandbox Code Playgroud)
cd /etc/nginx/sites-available/
sudo nginx -t
Run Code Online (Sandbox Code Playgroud)
sudo service nginx restart
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36262 次 |
| 最近记录: |