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_sizeserver_names_hash_bucket_size来容纳大量站点,但我更喜欢保持server_names_hash_bucket_size原样,并server_names_hash_max_size以 2 的倍数变大,直到错误消失。

在我们托管 300 多个站点的服务器上,我们需要将其更改为8192

使用以下命令使用技巧来找出正确的尺寸:

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

相关内容