Hatalı Yapılandırma Dosyaları

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Belirti

Edge yönlendirici, NGINX kullanılarak uygulanır. Edge yükseltme işlemi sırasında veya yönlendiricinin yapılandırması değiştirilirken NGINX yapılandırma hataları görebilirsiniz. Bu hatalar oluştuğunda Edge, soruna neden olan tüm NGINX yapılandırma dosyalarını /opt/nginx/conf.d olarak işaretler:

-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

Hata mesajları

Herhangi bir hata mesajı görmezsiniz. Ancak, kötü yapılandırma dosyaları nedeniyle API proxy'lerinizi yürütemeyebilirsiniz.

Olası nedenler

Genellikle NGINX yapılandırma dosyaları, /opt/apigee/customer/application/router.properties dosyasındaki NGINX özelliklerine yanlış değerler ayarlandığı veya bir sanal ana bilgisayarda yanlış değişiklikler yapıldığı için kötü olarak işaretlenir.

Teşhis

  1. /opt/nginx/conf.d dizinindeki dosya adlarından .bad sonekini kaldırarak dosya adlarının .conf ile bitmesini sağlayın.
  1. Hatanın nedenini belirlemek için NGINX configtest aracını çalıştırın:
    /opt/nginx/scripts/apigee-nginx configtest

Çözünürlük

  1. Yapılandırma testi, kötü yapılandırma dosyalarının nedenini belirlerse /opt/apigee/customer/application/router.properties dosyasında veya sanal ana makinede ilgili mülkte uygun değişiklikleri yaparak sorunu düzeltin.
  1. /opt/nginx/conf.d dizinini kaldırın:
    rm -rf /opt/nginx/conf.d
  1. Yönlendiriciyi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  1. Artık /opt/nginx/conf.d dizininde hatalı yapılandırma dosyaları görmemeniz gerekir.

Sorun devam ederse Apigee Edge Destek Ekibi ile iletişime geçin.

Aşağıda, NGINX yapılandırma testi tarafından sağlanan bilgilere göre sorunun nasıl düzeltileceğini gösteren bir örnek verilmiştir.

1. örnek: Bir NGINX özelliği için yanlış değer ayarlanmış

  1. Aşağıda gösterildiği gibi, /opt/apigee/customer/application/router.properties dosyasında "proxy_busy_buffers_size" özelliğini 128 KB olarak güncellediğinizi varsayalım:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 

Bu durum, yapılandırma dosyalarının /opt/apigee/nginx/conf.d dizininde kötü olarak işaretlenmesine neden oldu. directory.

  1. Hatanın nedenini belirlemek için NGINX configtest komutunu çalıştırın:
    /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

Configtest sonuçları, proxy_busy_buffers_size özelliği değerinin proxy_buffer_size değerine eşit veya bu değerden büyük olması gerektiğini gösteriyor ancak yanlış bir değerle ayarlanmış gibi görünüyor.

  1. 0-default.conf dosyasında proxy_buffer_size ve proxy_busy_buffers_size özellikleri için ayarlanan değerleri kontrol edin:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. /opt/apigee/customer/application/router.properties dosyasında proxy_busy_buffers_size değerini 512K olarak güncelleyin:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
  1. /opt/nginx/conf.d klasörünü kaldırın:
    rm -rf /opt/nginx/conf.d
  1. Yönlendiriciyi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Sorun düzeltildi ve hatalı yapılandırma dosyaları kaldırıldı.

2. örnek: İşlem, NGINX'i yükseltemiyor (yalnızca Private Cloud 18.01)

configtest komutunu çalıştırdığınızı ve aşağıdaki yanıtları aldığınızı varsayalım:

/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

Bu hata, işlemin NGINX'i 1.10.x sürümünden 1.12.x sürümüne yükseltemediğini gösterir. Edge Private Cloud'u 18.01 sürümüne yükseltmeyle ilgili bilinen bir hata vardır.

Bu sorunu doğru şekilde teşhis etmek için (yalnızca Private Cloud 18.01 kullanıyorsanız) aşağıdakileri yapın:

rpm -aq | grep apigee-nginx

Bu komut, yüklü rpm'yi 1.12.x sürümü olarak döndürmelidir. Görünmüyorsa aşağıdaki adımları uygulayın:

  1. Kenar yönlendirici bileşenini durdurun.
  2. Edge yönlendirici bileşenini yedekleyin.
  3. apigee-nginx 1.2.x'e yükseltmek için şu komutu çalıştırın:
  4. sudo yum update apigee-nginx
  5. /opt/apigee/nginx/conf.d. klasöründeki tüm *.bad dosyalarını silme
  6. Edge-router bileşenini yeniden başlatın.