खराब कॉन्फ़िगरेशन फ़ाइलें

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

समस्या का ब्यौरा

Edge राऊटर, NGINX का इस्तेमाल करके लागू किया जाता है. Edge अपग्रेड करने की प्रोसेस के दौरान या राऊटर का कॉन्फ़िगरेशन बदलते समय, आपको NGINX के कॉन्फ़िगरेशन से जुड़ी गड़बड़ियां दिख सकती हैं. जब ये गड़बड़ियां होती हैं, तब Edge उन सभी NGINX कॉन्फ़िगरेशन फ़ाइलों को मार्क करता है जिनकी वजह से /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

गड़बड़ी के मैसेज

आपको गड़बड़ी का कोई मैसेज नहीं दिखेगा. हालांकि, कॉन्फ़िगरेशन वाली खराब फ़ाइलों की वजह से, शायद आप एपीआई प्रॉक्सी एक्ज़ीक्यूट न कर पाएं.

संभावित वजहें

आम तौर पर, NGINX कॉन्फ़िगरेशन फ़ाइलों को खराब के तौर पर मार्क किया जाता है. इसकी वजह यह है कि /opt/apigee/customer/application/router.properties फ़ाइल में गलत वैल्यू NGINX प्रॉपर्टी पर सेट की गई हैं या वर्चुअल होस्ट में गलत बदलाव किए गए हैं.

संक्रमण की जांच

  1. /opt/nginx/conf.d डायरेक्ट्री में मौजूद फ़ाइल नामों से .bad सफ़िक्स हटाएं, ताकि उनके आखिर में .conf हो सके.
  1. गड़बड़ी की वजह पता करने के लिए, NGINX configtest टूल चलाएं:
    /opt/nginx/scripts/apigee-nginx configtest
    

रिज़ॉल्यूशन

  1. अगर कॉन्फ़िगरेशन टेस्ट से, कॉन्फ़िगरेशन वाली खराब फ़ाइलों की वजह का पता चलता है, तो /opt/apigee/customer/application/router.properties फ़ाइल या वर्चुअल होस्ट में किसी खास प्रॉपर्टी में ज़रूरी बदलाव करके समस्या को ठीक करें.
  1. /opt/nginx/conf.d डायरेक्ट्री हटाएं:
    rm -rf /opt/nginx/conf.d
    
  1. राऊटर रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  1. अब आपको /opt/nginx/conf.d डायरेक्ट्री में, नुकसान पहुंचाने वाली कॉन्फ़िगरेशन फ़ाइलें नहीं दिखेंगी.

अगर समस्या बनी रहती है, तो Apigee Edge की सहायता टीम से संपर्क करें.

यहां एक उदाहरण दिया गया है, जिसमें NGINX कॉन्फ़िगरेशन टेस्ट से मिली जानकारी के आधार पर समस्या को ठीक करने का तरीका बताया गया है.

उदाहरण 1: किसी NGINX प्रॉपर्टी के लिए गलत वैल्यू सेट की गई है

  1. मान लें कि आपने /opt/apigee/customer/application/router.properties फ़ाइल में, “proxy_busy_buffers_size” प्रॉपर्टी को 128K पर सेट किया है, जैसा कि यहां दिखाया गया है:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 
    

इसकी वजह से कॉन्फ़िगरेशन फ़ाइलों को /opt/apigee/nginx/conf.d डायरेक्ट्री में, 'गलत' के तौर पर मार्क किया गया.

  1. सफल न होने की वजह जानने के लिए, NGINX configtest कमांड चलाएं:
    /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 के नतीजों से पता चलता है कि proxy_busy_buffers_size प्रॉपर्टी की वैल्यू, proxy_busy_buffers_size प्रॉपर्टी के बराबर या उससे ज़्यादा होनी चाहिए. हालांकि, ऐसा लगता है कि यह वैल्यू गलत तरीके से सेट की गई है.

  1. proxy_buffer_size और proxy_buffer_size 0-default.conf फ़ाइल में
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
    प्रॉपर्टी के लिए सेट की गई वैल्यू देखें
  1. /opt/apigee/customer/application/router.properties फ़ाइल में प्रॉक्सी_व्यस्त_buffers_size की वैल्यू 512K पर अपडेट करें:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
    
  1. /opt/nginx/conf.d फ़ोल्डर हटाएं:
    rm -rf /opt/nginx/conf.d
    
  1. राऊटर रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    

यह समस्या हल कर दी गई है और नुकसान पहुंचाने वाली कॉन्फ़िगरेशन फ़ाइलें हटा दी गई हैं.

उदाहरण 2: यह प्रोसेस NGINX (सिर्फ़ प्राइवेट क्लाउड 18.01) को अपग्रेड नहीं कर पाती

मान लें कि आपने configtest चलाया और आपको ये जवाब मिले:

/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

यह गड़बड़ी बताती है कि प्रोसेस NGINX को 1.10.x से 1.12.x में अपग्रेड नहीं कर सकी. Edge प्राइवेट क्लाउड को 18.01 वर्शन पर अपग्रेड करने के बारे में, एक गड़बड़ी मिली है.

इस समस्या का सही तरीके से विश्लेषण करने के लिए (अगर आपके पास Private Cloud 18.01 का इस्तेमाल हो रहा है), तो यह तरीका अपनाएं:

rpm -aq | grep apigee-nginx

इस निर्देश से, इंस्टॉल किए गए rpm को वर्शन 1.12.x के रूप में लौटाया जाना चाहिए. अगर ऐसा नहीं होता है, तो यह तरीका अपनाएं:

  1. एज-रूटर कॉम्पोनेंट को बंद करें.
  2. एज-राउटर कॉम्पोनेंट का बैकअप लें.
  3. apigee-nginx 1.2.x में अपग्रेड करने के लिए, इस कमांड को चलाएं:
  4. sudo yum update apigee-nginx
  5. /opt/apigee/nginx/conf.d. से जुड़ी सभी *.bad फ़ाइलें मिटाएं
  6. एज-रूटर कॉम्पोनेंट को रीस्टार्ट करें.