Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Симптом
Маршрутизатор Edge реализован с использованием 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.
- Запустите инструмент NGINX configtest, чтобы определить причину сбоя:
/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 ” на 128K в файле
/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
Результаты теста конфигурации показывают, что значение свойства 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 до 512K в файле
/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.
Для правильной диагностики этой проблемы (только если вы используете Private Cloud 18.01) выполните следующие действия:
rpm -aq | grep apigee-nginx
Эта команда должна вернуть установленный RPM-пакет версии 1.12.x. Если этого не происходит, выполните следующие действия:
- Остановите компонент граничного маршрутизатора.
- Создайте резервную копию компонента пограничного маршрутизатора.
- Выполните эту команду для обновления до apigee-nginx версии 1.2.x:
- Удалите все файлы с расширением
*.badиз каталога/opt/apigee/nginx/conf.d. - Перезапустите компонент edge-router.
sudo yum update apigee-nginx