Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Krótki opis problemu
Router brzegowy jest wdrażany przy użyciu NGINX. Podczas uaktualniania Edge lub
jeśli zmienisz konfigurację routera, mogą pojawić się błędy konfiguracji NGINX. Gdy te wartości
występują błędy, Edge oznaczy wszystkie pliki konfiguracji NGINX, które spowodowały problem.
/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. Jednak wykonanie interfejsu API może nie być możliwe z serwerów proxy z powodu nieprawidłowych plików konfiguracji.
Możliwe przyczyny
Zwykle pliki konfiguracyjne NGINX są oznaczane jako nieprawidłowe, ponieważ nieprawidłowe wartości są ustawione na
Właściwość 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
/opt/nginx/conf.d
, tak aby kończyły się rozszerzeniem .conf.
- Uruchom narzędzie configtest dla NGINX, aby określić przyczynę błędu:
/opt/nginx/scripts/apigee-nginx configtest
Rozdzielczość
- Jeśli test konfiguracji wykryje przyczynę nieprawidłowych plików konfiguracji, rozwiąż problem przez
wprowadzenie odpowiednich zmian w konkretnej usłudze w
/opt/apigee/customer/application/router.properties
lub host wirtualny.
- Usuń katalog
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- Ponownie uruchom router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Błędne pliki konfiguracyjne nie powinny już być widoczne w
/opt/nginx/conf.d
.
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 za pomocą testu konfiguracji NGINX.
Przykład 1. Nieprawidłowa wartość ustawiona dla właściwości NGINX
- Załóżmy, że zaktualizujesz właściwość „proxy_busy_buffers_size”
do 128K w pliku
/opt/apigee/customer/application/router.properties
, jak widać na ilustracji poniżej:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k
Spowodowało to oznaczenie plików konfiguracyjnych jako nieprawidłowych w pliku /opt/apigee/nginx/conf.d
katalogu.
- Uruchom polecenie configtest NGINX, aby określić przyczynę niepowodzenia:
/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 testu configtest wskazują, że wartość właściwości Parametr proxy_busy_buffers_size powinien być równy lub większy niż proxy_buffer_size, ale wygląda na to, że ma ustawioną 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 na 512 KB w
Plik
/opt/apigee/customer/application/router.properties
:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
- Usuń folder
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- Ponownie uruchom router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
Rozwiązaliśmy problem i usunięto nieprawidłowe pliki konfiguracyjne.
Przykład 2. Proces nie uaktualnia NGINX (tylko Private Cloud w wersji 18.01)
Załóżmy, że korzystasz z narzędzia 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 procesowi nie udało się uaktualnić NGINX z 1.10.x do 1.12.x. Wystąpił znany błąd związany z uaktualnieniem Edge Private Cloud do wersji 18.01.
Aby prawidłowo zdiagnozować ten problem (tylko w Private Cloud w wersji 18.01), wykonaj te czynności:
rpm -aq | grep apigee-nginx
To polecenie powinno zwrócić zainstalowany RPM w wersji 1.12.x. Jeśli tak się nie stanie, wykonaj te czynności:
- Zatrzymaj komponent brzegowy routera brzegowego.
- Utwórz kopię zapasową komponentu brzegowego routera.
- Uruchom to polecenie, aby uaktualnić apigee-nginx do wersji 1.2.x:
- Usuń wszystkie pliki (
*.bad
) w katalogu/opt/apigee/nginx/conf.d.
- Ponownie uruchom komponent brzegowy routera.
sudo yum update apigee-nginx