Вы просматриваете документацию 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
установлены неправильные значения, либо в виртуальный хост внесены неверные изменения.
Диагностика
- Удалите суффикс .bad из имен файлов в каталоге
/opt/nginx/conf.d
, чтобы они заканчивались на .conf.
- Запустите инструмент configtest NGINX, чтобы определить причину сбоя:
/opt/nginx/scripts/apigee-nginx configtest
Разрешение
- Если проверка конфигурации выявляет причину плохих файлов конфигурации, устраните проблему, внеся соответствующие изменения в определенное свойство в файле
/opt/apigee/customer/application/router.properties
или виртуальном хосте.
- Удалите каталог
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- Перезагрузите маршрутизатор:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Вы больше не должны видеть плохие файлы конфигурации в каталоге
/opt/nginx/conf.d
.
Если проблема не устранена, обратитесь в службу поддержки Apigee Edge .
Ниже приведен пример, показывающий, как устранить проблему на основе информации, предоставленной тестом конфигурации NGINX.
Пример 1. Неправильный набор значений для свойства NGINX.
- Допустим, вы обновили свойство 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
.
- Запустите команду 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 , но, похоже, ему присвоено неправильное значение.
- Проверьте значения, установленные для свойств proxy_buffer_size и proxy_busy_buffers_size в файле
0-default.conf
:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- Обновите значение proxy_busy_buffers_size до 512 КБ в файле
/opt/apigee/customer/application/router.properties
:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
- Удалите папку
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- Перезагрузите маршрутизатор:
/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. Если этого не происходит, выполните следующие действия:
- Остановите компонент Edge-Router.
- Сделайте резервную копию компонента Edge-Router.
- Запустите эту команду для обновления до apigee-nginx 1.2.x:
- Удалите все файлы
*.bad
в/opt/apigee/nginx/conf.d.
- Перезапустите компонент Edge-Router.
sudo yum update apigee-nginx