Programing

nginx : [emerg]가 server_names_hash를 빌드 할 수 없습니다. server_names_hash_bucket_size를 늘려야합니다.

lottogame 2020. 12. 4. 07:45
반응형

nginx : [emerg]가 server_names_hash를 빌드 할 수 없습니다. server_names_hash_bucket_size를 늘려야합니다.


새 서버를 설정하는 중입니다. 내가 선택한 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

이것은 긴 도메인 이름 때문에 발생할 가능성이 큽니다. 다음을 추가하여 수정할 수 있습니다.

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;
  • nginx 다시 시작 sudo service nginx restart

오류가 계속되는 경우 :

  • server_names_hash_bucket_size128, 256, 512 단계 등으로 증가 합니다 (매번 2의 거듭 제곱 씩 증가). 예.server_names_hash_bucket_size 128;
  • 오류가 사라질 때까지 nginx를 다시 시작하십시오 (이미 설정 한 값에 관계없이 오류는 항상 동일합니다)

이것은 아마도 약간 무작위로 들리지만 저와 같은 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를 강조 표시로 끝나야합니다 .

참고 URL : https://stackoverflow.com/questions/13895933/nginx-emerg-could-not-build-the-server-names-hash-you-should-increase-server

반응형