Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Krótki opis problemu
Router Edge jest implementowany za pomocą NGINX. Podczas procesu uaktualniania Edge lub gdy
zmieniasz konfigurację routera, mogą pojawić się błędy konfiguracji NGINX. Gdy wystąpią te
błędy, Edge oznaczy wszystkie pliki konfiguracyjne NGINX, które spowodowały problem, jako nieprawidłowe w katalogu
/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
Komunikaty o błędach
Nie zobaczysz żadnych komunikatów o błędach. Może się jednak zdarzyć, że nie będziesz w stanie wykonać swoich serwerów proxy interfejsu API z powodu nieprawidłowych plików konfiguracyjnych.
Możliwe przyczyny
Zazwyczaj pliki konfiguracyjne NGINX są oznaczane jako nieprawidłowe, ponieważ ustawiono nieprawidłowe wartości właściwości NGINX w pliku /opt/apigee/customer/application/router.properties lub wprowadzono nieprawidłowe zmiany w hoście wirtualnym.
Diagnostyka
- Usuń sufiks .bad z nazw plików w katalogu
/opt/nginx/conf.d, aby kończyły się one na .conf.
- Uruchom narzędzie configtest NGINX, aby określić przyczynę niepowodzenia:
/opt/nginx/scripts/apigee-nginx configtest
Rozdzielczość
- Jeśli test konfiguracji określi przyczynę nieprawidłowych plików konfiguracyjnych, rozwiąż problem, wprowadzając odpowiednie zmiany w konkretnej właściwości w pliku
/opt/apigee/customer/application/router.propertieslub w hoście wirtualnym.
- Usuń katalog
/opt/nginx/conf.d:rm -rf /opt/nginx/conf.d
- Uruchom ponownie router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Nie powinny już być widoczne nieprawidłowe pliki konfiguracyjne w
/opt/nginx/conf.dkatalogu.
Jeśli problem będzie nadal występował, skontaktuj się z zespołem pomocy Apigee Edge.
Oto przykład, który pokazuje, jak rozwiązać problem na podstawie informacji podanych przez test konfiguracji NGINX.
Przykład 1. Nieprawidłowa wartość ustawiona dla właściwości NGINX
- Załóżmy, że w pliku
/opt/apigee/customer/application/router.propertieszaktualizowano właściwość „proxy_busy_buffers_size” do wartości 128K, jak pokazano poniżej:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k
Spowodowało to oznaczenie plików konfiguracyjnych jako nieprawidłowych w /opt/apigee/nginx/conf.d
katalogu.
- Aby określić przyczynę niepowodzenia, uruchom polecenie configtest NGINX:
/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
Wyniki configtest wskazują, że wartość właściwości proxy_busy_buffers_size powinna być równa lub większa niż proxy_buffer_size, ale wydaje się, że jest ustawiona na nieprawidłową wartość.
- Sprawdź wartości ustawione dla właściwości
proxy_buffer_size i proxy_busy_buffers_size
w pliku
0-default.conf:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- Zaktualizuj wartość proxy_busy_buffers_size do 512K w
/opt/apigee/customer/application/router.propertiespliku:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
- Usuń folder
/opt/nginx/conf.d:rm -rf /opt/nginx/conf.d
- Uruchom ponownie router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
Problem został rozwiązany, a nieprawidłowe pliki konfiguracyjne zostały usunięte.
Przykład 2. Nie udało się uaktualnić NGINX (tylko Private Cloud 18.01)
Załóżmy, że uruchamiasz configtest i otrzymujesz te odpowiedzi:
/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
Ten błąd oznacza, że nie udało się uaktualnić NGINX z wersji 1.10.x do 1.12.x. Znany jest błąd związany z uaktualnianiem Edge Private Cloud do wersji 18.01.
Aby prawidłowo zdiagnozować ten problem (tylko w przypadku Private Cloud 18.01), wykonaj te czynności:
rpm -aq | grep apigee-nginx
To polecenie powinno zwrócić zainstalowany pakiet rpm w wersji 1.12.x. Jeśli tak się nie stanie, wykonaj te czynności:
- Zatrzymaj komponent edge-router.
- Utwórz kopię zapasową komponentu edge-router.
- Aby uaktualnić do apigee-nginx 1.2.x, uruchom to polecenie:
- Usuń wszystkie pliki
*.badw katalogu/opt/apigee/nginx/conf.d. - Uruchom ponownie komponent edge-router.
sudo yum update apigee-nginx