Nieprawidłowe pliki konfiguracyjne

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

  1. Usuń sufiks .bad z nazw plików w katalogu /opt/nginx/conf.d, aby kończyły się na .conf.
  1. Uruchom narzędzie configtest NGINX, aby określić przyczynę błędu:
    /opt/nginx/scripts/apigee-nginx configtest
    

Rozdzielczość

  1. 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.
  1. Usuń katalog /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Ponownie uruchom router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  1. 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

  1. 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.

  1. 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ść.

  1. 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;
    
  1. 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
    
  1. Usuń folder /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. 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:

  1. Zatrzymaj komponent routera brzegowego.
  2. Utwórz kopię zapasową komponentu Edge-router.
  3. Uruchom to polecenie, aby uaktualnić apigee-nginx do wersji 1.2.x:
  4. sudo yum update apigee-nginx
  5. Usuń wszystkie pliki (*.bad) w domenie /opt/apigee/nginx/conf.d.
  6. Ponownie uruchom komponent routera brzegowego.