Плохие файлы конфигурации

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Симптом

Edge Router реализован с использованием NGINX. В процессе обновления Edge или при изменении конфигурации маршрутизатора вы можете увидеть ошибки конфигурации NGINX. При возникновении этих ошибок Edge помечает все файлы конфигурации NGINX, вызвавшие проблему, как /opt/nginx/conf.d :

-rw-r--r-- 1 apigee apigee 522 Jul 20 08:41 0-default.conf.bad 
-rw-r--r-- 1 apigee apigee 577 Jul 20 08:42 0-fallback.conf 
-rw-r--r-- 1 apigee apigee 1062 Jul 20 08:18 0-map.conf 
-rw-r--r-- 1 apigee apigee 1887 Jul 20 08:42 custorg_test_default.conf.bad

Сообщения об ошибках

Вы не увидите никаких сообщений об ошибках. Однако вы не сможете запускать прокси-серверы API из-за плохих файлов конфигурации.

Возможные причины

Обычно файлы конфигурации NGINX помечаются как плохие либо потому, что для свойств NGINX в файле /opt/apigee/customer/application/router.properties установлены неправильные значения, либо в виртуальный хост внесены неверные изменения.

Диагностика

  1. Удалите суффикс .bad из имен файлов в каталоге /opt/nginx/conf.d , чтобы они заканчивались на .conf.
  1. Запустите инструмент configtest NGINX, чтобы определить причину сбоя:
    /opt/nginx/scripts/apigee-nginx configtest

Разрешение

  1. Если проверка конфигурации выявляет причину плохих файлов конфигурации, устраните проблему, внеся соответствующие изменения в определенное свойство в файле /opt/apigee/customer/application/router.properties или виртуальном хосте.
  1. Удалите каталог /opt/nginx/conf.d :
    rm -rf /opt/nginx/conf.d
  1. Перезагрузите маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  1. Вы больше не должны видеть плохие файлы конфигурации в каталоге /opt/nginx/conf.d .

Если проблема не устранена, обратитесь в службу поддержки Apigee Edge .

Ниже приведен пример, показывающий, как устранить проблему на основе информации, предоставленной тестом конфигурации NGINX.

Пример 1. Неправильный набор значений для свойства NGINX.

  1. Допустим, вы обновили свойство proxy_busy_buffers_size до 128 КБ в файле /opt/apigee/customer/application/router.properties , как показано ниже:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 

Это привело к тому, что файлы конфигурации были помечены как плохие в каталоге /opt/apigee/nginx/conf.d .

  1. Запустите команду NGINX configtest, чтобы определить причину сбоя:
    /opt/nginx/scripts/apigee-nginx configtest
    nginx: [emerg] "proxy_busy_buffers_size" must be equal to or greater than the maximum of the value of "proxy_buffer_size" and one of the "proxy_buffers" in /opt/nginx/conf/nginx.conf:47
    nginx: configuration file /opt/nginx/conf/nginx.conf test failed

Результаты configtest показывают, что значение свойства proxy_busy_buffers_size должно быть равно или больше, чем proxy_buffer_size , но, похоже, ему присвоено неправильное значение.

  1. Проверьте значения, установленные для свойств proxy_buffer_size и proxy_busy_buffers_size в файле 0-default.conf :
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. Обновите значение proxy_busy_buffers_size до 512 КБ в файле /opt/apigee/customer/application/router.properties :
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
  1. Удалите папку /opt/nginx/conf.d :
    rm -rf /opt/nginx/conf.d
  1. Перезагрузите маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Проблема была исправлена, и неправильные файлы конфигурации были удалены.

Пример 2. Не удается обновить NGINX (только для Private Cloud 18.01).

Допустим, вы запустили configtest и получили следующие ответы:

/apigee-nginx configtest

 nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
 nginx: [emerg] zero size shared memory zone "perclient"
 nginx: configuration file /opt/nginx/conf/nginx.conf test failed

Этот сбой указывает на то, что процессу не удалось обновить NGINX с версии 1.10.x до 1.12.x. Существует известная ошибка, связанная с обновлением Edge Private Cloud до версии 18.01.

Чтобы правильно диагностировать эту проблему (только если вы используете частное облако 18.01), выполните следующие действия:

rpm -aq | grep apigee-nginx

Эта команда должна вернуть установленный пакет обновления версии 1.12.x. Если этого не происходит, выполните следующие действия:

  1. Остановите компонент Edge-Router.
  2. Сделайте резервную копию компонента Edge-Router.
  3. Запустите эту команду для обновления до apigee-nginx 1.2.x:
  4. sudo yum update apigee-nginx
  5. Удалите все файлы *.bad в /opt/apigee/nginx/conf.d.
  6. Перезапустите компонент Edge-Router.