Как установить fastcgi_params_hash_max_size? - PullRequest
0 голосов
/ 21 сентября 2019

На моем сервере Ubuntu, работающем под управлением Nginx + FastCGI (через Webinoly ), nginx -t выдает следующее предупреждение:

    nginx: [warn] could not build optimal fastcgi_params_hash, 
you should increase either fastcgi_params_hash_max_size: 512 or 
fastcgi_params_hash_bucket_size: 64; ignoring fastcgi_params_hash_bucket_size

Сначала я подумал, что мне нужно изменить имя_сервера_с_hash_max_size,но это было уже установлено к 2048 и не было связано.Чтобы убедиться, я попытался снизить его значение до 8, после чего nginx -t выдал предупреждение, что я должен увеличить его.После восстановления я получил начальное предупреждение о fastcgi_params_hash_max_size.

Я также попытался установить fastcgi_params_hash_max_size в моем файле nginx.conf, но затем я получил ошибку, что fastcgi_params_hash_max_size является неизвестной директивой.

Итак, я думаю, мой вопрос, как я могу изменитьfastcgi_params_hash_max_size?

Заранее спасибо!

1 Ответ

1 голос
/ 21 сентября 2019

Директив fastcgi_params_hash_max_size и fastcgi_params_hash_bucket_size действительно нет.Это сообщение об ошибке является «автоматическим», так как оно принимает имя хеша (в данном случае fastcgi_params_hash), а затем создает рекомендуемые имена директив, добавляя _max_size и _bucket_size.

Хеши NGINX в целомиспользуются для хранения данных конфигурации в виде массива, таких как map s или fastcgi_params s (ваш случай), и есть отдельный документ , в котором говорится:

Большинство хэшей имеют соответствующие директивы, которые позволяют изменять эти параметры, например, для хэша имен серверов они являются server_names_hash_max_size и server_names_hash_bucket_size.

Таким образом, ваш хеш не имеет "соответствующегодирективы "и ничего кроме этого вы не можете сделать:

  • Узнайте, почему в вашей конфигурации слишком много директив fastcgi_param?(или со слишком длинными значениями).Весьма вероятно, что у вас неоптимальная конфигурация в отношении fastcgi_params с.Помните, что они передаются в FastCGI (например, PHP-FPM), и если эти данные слишком велики, то вы наверняка испытаете проблемы с производительностью просто из-за большого объема данных, проходящих между NGINX-PHP-FPM.
  • Fileошибка в NGINX при добавлении этих директив
...