Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Krótki opis problemu
Router brzegowy jest zaimplementowany za pomocą NGINX. W trakcie procesu uaktualniania Edge lub podczas zmiany konfiguracji routera możesz zobaczyć błędy konfiguracji NGINX. Gdy wystąpią te błędy, Edge oznaczy wszystkie pliki konfiguracji NGINX, które spowodowały problem, na /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 pojawią się żadne komunikaty o błędach. Jednak z powodu nieprawidłowych plików konfiguracyjnych możesz nie być w stanie uruchomić serwerów proxy interfejsu API.
Możliwe przyczyny
Zwykle pliki konfiguracyjne NGINX są oznaczone jako nieprawidłowe, ponieważ w pliku /opt/apigee/customer/application/router.properties
ustawiono nieprawidłowe wartości właściwości NGINX lub na hoście wirtualnym wprowadzono nieprawidłowe zmiany.
Diagnostyka
- Usuń sufiks .bad z nazw plików w katalogu
/opt/nginx/conf.d
, aby kończyły się na .conf.
- Uruchom narzędzie configtest NGINX, aby określić przyczynę błędu:
/opt/nginx/scripts/apigee-nginx configtest
Rozdzielczość
- Jeśli test konfiguracji wykryje przyczynę wystąpienia nieprawidłowych plików konfiguracji, rozwiąż problem, wprowadzając odpowiednie zmiany w określonej właściwości w pliku
/opt/apigee/customer/application/router.properties
lub na hoście wirtualnym.
- 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
- W katalogu
/opt/nginx/conf.d
nie powinny już pojawiać się nieprawidłowe pliki konfiguracyjne.
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 przekazanych w teście 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.properties
została przez Ciebie zaktualizowana właściwość „proxy_busy_buffers_size” na 128 KB, jak pokazano poniżej:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k
Spowodowało to oznaczenie plików konfiguracji jako nieprawidłowych w katalogu /opt/apigee/nginx/conf.d
.
- 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 proxy_busy_buffers_size powinna być co najmniej równa proxy_buffer_size, ale prawdopodobnie ma nieprawidłową wartość.
- Sprawdź ustawione wartości właściwości proxy_buffer_size i proxy_Zajęty_buffers_size
w pliku
0-default.conf
:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- Zaktualizuj wartość ustawienia proxy_Zajęty_buffers_size na 512 KB w pliku
/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 usunęliśmy nieprawidłowe pliki konfiguracyjne.
Przykład 2. Proces nie uaktualnia NGINX (tylko Private Cloud 18.01)
Załóżmy, że uruchomisz aplikację configtest
i otrzymasz 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 wersji 1.10.x do wersji 1.12.x. Istnieje znany błąd związany z uaktualnieniem usługi Edge Private Cloud do wersji 18.01.
Aby poprawnie zdiagnozować ten problem (tylko w Private Cloud 18.01), wykonaj te czynności:
rpm -aq | grep apigee-nginx
To polecenie powinno zwrócić zainstalowaną plik rpm w wersji 1.12.x. Jeśli tak się nie stanie, wykonaj te czynności:
- Zatrzymaj komponent routera brzegowego.
- Utwórz kopię zapasową komponentu Edge-router.
- Uruchom to polecenie, aby uaktualnić apigee-nginx do wersji 1.2.x:
- Usuń wszystkie pliki (
*.bad
) w domenie/opt/apigee/nginx/conf.d.
- Ponownie uruchom komponent routera brzegowego.
sudo yum update apigee-nginx