Nginx 오류 nginx: [emerg] zimbra를 사용하여 server_names_hash를 빌드할 수 없습니다.

Nginx 오류 nginx: [emerg] zimbra를 사용하여 server_names_hash를 빌드할 수 없습니다.

CentOS 7에 Zimbra 8.6을 설치하고 변경했습니다.

zmprov modifyConfig zimbraFileUploadMaxSize 5000000
zmprov mcf zimbraMtaMaxMessageSize 52428800

이메일을 다시 시작했습니다

프록시 주소를 사용하여 Zimbra 웹메일에 접속할 수 없어서 프록시 서버를 확인하고 다시 시작했습니다.

그러다가 이런 문제가 생겼어요

Starting zmconfigd...Done.
Starting memcached...Done.
Starting proxy...Failed. Starting nginx...nginx: [emerg] could not build the server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 64 failed.

나는 팔로우했다이것기사를 바꾸는 것에 대해 제가 할 수 있는 일은 없습니다.

답변1

안녕하세요 여러분, 저는 이 문제를 해결했습니다:

# su - zimbra

$ zmlocalconfig -e proxy_server_names_hash_max_size=4096
$ zmlocalconfig -e proxy_server_names_hash_bucket_size=512

$ zmproxyctl start

답변2

서버를 추가할 때 해시 테이블의 크기만 늘리면 됩니다.

reload설정에 따라 다시 시작하는 대신 테이블과 서비스에서 서버 수를 줄일 수 있습니다.

service nginx reload

서버 이름 해시 최대 크기

기본값은 512입니다. 서버에서 수백 개의 사이트를 호스팅하는 경우.

Nginx에서는 많은 수의 사이트를 변경하거나 server_names_hash_max_size수용 할 수 있다고 제안하지만 저는 오류가 사라질 때까지 그대로 두고 2의 배수로 더 크게 만드는 것을 선호합니다.server_names_hash_bucket_sizeserver_names_hash_bucket_sizeserver_names_hash_max_size

300개가 넘는 사이트를 호스팅하는 서버에서는 이를 다음과 같이 변경해야 합니다.8192

올바른 치수를 찾으려면 다음 방법을 사용하십시오.

ls /etc/nginx/sites-available/ | wc -c

관련 정보