Hatalı Yapılandırma Dosyaları

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

Belirti

Uç Yönlendirici, NGINX kullanılarak uygulanır. Edge yükseltme işlemi sırasında veya Yönlendiricinin yapılandırmasını değiştirirken NGINX yapılandırma hataları görebilirsiniz. Bu hatalar ortaya çıktığında Edge, soruna neden olan tüm NGINX yapılandırma dosyalarını /opt/nginx/conf.d 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, hatalı yapılandırma dosyaları nedeniyle API proxy'lerinizi yürütemeyebilirsiniz.

Olası Nedenler

NGINX yapılandırma dosyaları genellikle /opt/apigee/customer/application/router.properties dosyasında NGINX mülklerine yanlış değerler ayarlandığı veya sanal ana makinede yanlış değişiklikler yapıldığı için hatalı olarak işaretlenir.

Teşhis

  1. /opt/nginx/conf.d dizinindeki dosya adlarından .bad son ekini 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, hatalı yapılandırma dosyalarının nedenini belirlerse /opt/apigee/customer/application/router.properties dosyası veya sanal ana makinedeki belirli özellikte 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 kötü yapılandırma dosyaları görmezsiniz.

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

NGINX yapılandırma testinin sağladığı bilgilere dayanarak sorunun nasıl düzeltileceğini gösteren bir örneği burada bulabilirsiniz.

1. Örnek: NGINX mülkü için yanlış değer grubu

  1. /opt/apigee/customer/application/router.properties dosyasında "proxy_busy_buffers_size" özelliğini 128.000 olarak güncellediğinizi varsayalım. Örnek:
    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 bozuk olarak işaretlenmesine neden oldu.

  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ğinin değerinin proxy_busy_buffers_size değerine eşit veya bu değerden büyük olması gerektiğini ancak yanlış bir değerle ayarlandığını gösteriyor.

  1. 0-default.conf dosyasında proxy_buffer_size ve proxy_ talep_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_meşgul_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 bozuk 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'ten 1.12.x'e yükseltemediğini gösterir. Edge Private Cloud'un 18.01 sürümüne yükseltilmesiyle 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ürecektir. Görünmüyorsa şu adımları uygulayın:

  1. Kenar yönlendirici bileşenini durdurun.
  2. Kenar yönlendirici bileşenini yedekleyin.
  3. Apigee-nginx 1.2.x sürümüne geçmek için şu komutu çalıştırın:
  4. sudo yum update apigee-nginx
  5. /opt/apigee/nginx/conf.d. altındaki *.bad dosyanın tümünü sil
  6. Kenar yönlendirici bileşenini yeniden başlatın.