Hatalı Yapılandırma Dosyaları

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Belirti

Uç Yönlendirici, NGINX kullanılarak uygulanır. Edge yükseltme işlemi sırasında veya Yönlendirici yapılandırmasını değiştirdiğinizde NGINX yapılandırma hataları görebilirsiniz. Bu oluşursa Edge, soruna neden olan tüm NGINX yapılandırma dosyalarını /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

Hata mesajları

Herhangi bir hata mesajı görmezsiniz. Ancak API'nizi çalıştıramayabilirsiniz proxy'lerini kullanabilirsiniz.

Olası Nedenler

NGINX yapılandırma dosyaları genellikle hatalı olarak işaretlendiği için hatalı olarak işaretlenir. /opt/apigee/customer/application/router.properties dosyasındaki NGINX mülkleri sanal ana makinede yanlış değişiklikler yapıldığından emin olun.

Teşhis

  1. .bad sonekini /opt/nginx/conf.d dizininden .conf ile biter.
  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 bulursa aşağıdakileri yaparak sorunu düzeltin: ilgili mülk üzerinde uygun değişiklikleri /opt/apigee/customer/application/router.properties dosyası veya sanal ana makine.
  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 kötü yapılandırma dosyalarını /opt/nginx/conf.d dizini ekleyin.

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

Aşağıda, NGINX yapılandırma testi.

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

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

Bu durum, yapılandırma dosyalarının /opt/apigee/nginx/conf.d içinde hatalı olarak işaretlenmesine neden oldu. dizin.

  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ı, mülkün değerinin olduğunu gösterir proxy_busy_buffers_size eşit veya daha büyük olmalıdır proxy_buffer_size neden yanlış bir değerle ayarlanmış gibi görünüyor.

  1. Özellikler için ayarlanan değerleri kontrol etme proxy_buffer_size ve proxy_context_buffers_size 0-default.conf dosyasında:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. proxy_meşgul_buffers_size değerini şurada 512K olarak güncelleyin: /opt/apigee/customer/application/router.properties dosyası:
    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'un 18.01 sürümüne yükseltilmesiyle ilgili bilinen bir hata mevcuttur.

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. Bağlanmazsa aşağıdaki 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 yükseltmek 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.