Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu
Apigee X. info
Symptom
Der Edge-Router wird mit NGINX implementiert. Während des Edge-Upgrades oder beim
Ändern der Konfiguration des Routers können NGINX-Konfigurationsfehler auftreten. Wenn diese
Fehler auftreten, markiert Edge alle NGINX-Konfigurationsdateien, die das Problem verursacht haben, mit dem Suffix `.bad` im Verzeichnis
/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
Fehlermeldungen
Es werden keine Fehlermeldungen angezeigt. Möglicherweise können Sie Ihre API Proxys jedoch aufgrund der fehlerhaften Konfigurationsdateien nicht ausführen.
Mögliche Ursachen
In der Regel werden die NGINX-Konfigurationsdateien als fehlerhaft markiert, weil falsche Werte für
NGINX-Attribute in der /opt/apigee/customer/application/router.properties Datei
festgelegt wurden oder weil falsche Änderungen an einem virtuellen Host vorgenommen wurden.
Diagnose
- Entfernen Sie das Suffix .bad aus den Dateinamen im Verzeichnis
/opt/nginx/conf.d, sodass sie mit ` .conf` enden.
- Führen Sie das NGINX-Konfigurationstesttool aus, um die Ursache für den Fehler zu ermitteln:
/opt/nginx/scripts/apigee-nginx configtest
Auflösung
- Wenn der Konfigurationstest die Ursache für die fehlerhaften Konfigurationsdateien ermittelt, beheben Sie das Problem, indem Sie
die entsprechenden Änderungen am jeweiligen Attribut in der
/opt/apigee/customer/application/router.propertiesDatei oder am virtuellen Host vornehmen.
- Entfernen Sie das Verzeichnis
/opt/nginx/conf.d:rm -rf /opt/nginx/conf.d
- Starten Sie den Router neu:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Im Verzeichnis
/opt/nginx/conf.dsollten keine fehlerhaften Konfigurationsdateien mehr angezeigt werden.
Wenn das Problem weiterhin besteht, wenden Sie sich an den Apigee Edge-Support.
Hier ist ein Beispiel, das zeigt, wie Sie das Problem anhand der Informationen beheben, die der NGINX-Konfigurationstest liefert.
Beispiel 1: Falscher Wert für ein NGINX-Attribut festgelegt
- Angenommen, Sie haben das Attribut „proxy_busy_buffers_size“
auf 128 K in der
/opt/apigee/customer/application/router.propertiesDatei aktualisiert, wie unten gezeigt:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k
Dadurch wurden die Konfigurationsdateien im Verzeichnis /opt/apigee/nginx/conf.d
als fehlerhaft markiert.
- Führen Sie den NGINX-Konfigurationstestbefehl aus, um die Ursache für den Fehler zu ermitteln:
/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
Die Ergebnisse des Konfigurationstests zeigen, dass der Wert für das Attribut proxy_busy_buffers_size größer oder gleich proxy_buffer_size sein sollte, aber anscheinend ein falscher Wert festgelegt wurde.
- Prüfen Sie die für die Attribute
proxy_buffer_size und proxy_busy_buffers_size
festgelegten Werte in der
0-default.confDatei:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- Aktualisieren Sie den Wert von „proxy_busy_buffers_size“ in der
/opt/apigee/customer/application/router.propertiesDatei auf 512 K:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
- Entfernen Sie den Ordner
/opt/nginx/conf.d:rm -rf /opt/nginx/conf.d
- Starten Sie den Router neu:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
Das Problem wurde behoben und die fehlerhaften Konfigurationsdateien wurden entfernt.
Beispiel 2: Upgrade von NGINX schlägt fehl (nur Private Cloud 18.01)
Angenommen, Sie führen configtest aus und erhalten die folgenden Antworten:
/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
Dieser Fehler gibt an, dass das Upgrade von NGINX von 1.10.x auf 1.12.x fehlgeschlagen ist. Es gibt einen bekannten Fehler im Zusammenhang mit dem Upgrade von Edge Private Cloud auf Version 18.01.
So diagnostizieren Sie dieses Problem richtig (nur wenn Sie Private Cloud 18.01 verwenden):
rpm -aq | grep apigee-nginx
Dieser Befehl sollte die installierte RPM-Datei als Version 1.12.x zurückgeben. Wenn dies nicht der Fall ist, führen Sie die folgenden Schritte aus:
- Beenden Sie die Komponente „edge-router“.
- Sichern Sie die Komponente „edge-router“.
- Führen Sie diesen Befehl aus, um ein Upgrade auf apigee-nginx 1.2.x durchzuführen:
- Löschen Sie alle
*.bad-Dateien unter/opt/apigee/nginx/conf.d. - Starten Sie die Komponente „edge-router“ neu.
sudo yum update apigee-nginx