![Nginx 错误 nginx: [emerg] 无法使用 zimbra 构建 server_names_hash](https://linux22.com/image/84887/Nginx%20%E9%94%99%E8%AF%AF%20nginx%3A%20%5Bemerg%5D%20%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20zimbra%20%E6%9E%84%E5%BB%BA%20server_names_hash.png)
我已经在 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
或server_names_hash_bucket_size
来容纳大量站点,但我更喜欢保持server_names_hash_bucket_size
原样,并server_names_hash_max_size
以 2 的倍数变大,直到错误消失。
在我们托管 300 多个站点的服务器上,我们需要将其更改为8192
使用以下命令使用技巧来找出正确的尺寸:
ls /etc/nginx/sites-available/ | wc -c