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 प्रॉपर्टी पर सेट की गई हैं
या वर्चुअल होस्ट में गलत बदलाव किए गए हैं.
संक्रमण की जांच
/opt/nginx/conf.d
डायरेक्ट्री में मौजूद फ़ाइल नामों से .bad सफ़िक्स हटाएं, ताकि उनके आखिर में .conf हो सके.
- गड़बड़ी की वजह पता करने के लिए, NGINX configtest टूल चलाएं:
/opt/nginx/scripts/apigee-nginx configtest
रिज़ॉल्यूशन
- अगर कॉन्फ़िगरेशन टेस्ट से, कॉन्फ़िगरेशन वाली खराब फ़ाइलों की वजह का पता चलता है, तो
/opt/apigee/customer/application/router.properties
फ़ाइल या वर्चुअल होस्ट में किसी खास प्रॉपर्टी में ज़रूरी बदलाव करके समस्या को ठीक करें.
/opt/nginx/conf.d
डायरेक्ट्री हटाएं:rm -rf /opt/nginx/conf.d
- राऊटर रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- अब आपको
/opt/nginx/conf.d
डायरेक्ट्री में, नुकसान पहुंचाने वाली कॉन्फ़िगरेशन फ़ाइलें नहीं दिखेंगी.
अगर समस्या बनी रहती है, तो Apigee Edge की सहायता टीम से संपर्क करें.
यहां एक उदाहरण दिया गया है, जिसमें NGINX कॉन्फ़िगरेशन टेस्ट से मिली जानकारी के आधार पर समस्या को ठीक करने का तरीका बताया गया है.
उदाहरण 1: किसी NGINX प्रॉपर्टी के लिए गलत वैल्यू सेट की गई है
- मान लें कि आपने
/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
डायरेक्ट्री में, 'गलत' के तौर पर मार्क किया गया.
- सफल न होने की वजह जानने के लिए, 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 प्रॉपर्टी के बराबर या उससे ज़्यादा होनी चाहिए. हालांकि, ऐसा लगता है कि यह वैल्यू गलत तरीके से सेट की गई है.
- proxy_buffer_size और proxy_buffer_size
0-default.conf
फ़ाइल मेंproxy_buffer_size 512k; proxy_busy_buffers_size 128k;
प्रॉपर्टी के लिए सेट की गई वैल्यू देखें
/opt/apigee/customer/application/router.properties
फ़ाइल में प्रॉक्सी_व्यस्त_buffers_size की वैल्यू 512K पर अपडेट करें:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
/opt/nginx/conf.d
फ़ोल्डर हटाएं:rm -rf /opt/nginx/conf.d
- राऊटर रीस्टार्ट करें:
/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 के रूप में लौटाया जाना चाहिए. अगर ऐसा नहीं होता है, तो यह तरीका अपनाएं:
- एज-रूटर कॉम्पोनेंट को बंद करें.
- एज-राउटर कॉम्पोनेंट का बैकअप लें.
- apigee-nginx 1.2.x में अपग्रेड करने के लिए, इस कमांड को चलाएं:
/opt/apigee/nginx/conf.d.
से जुड़ी सभी*.bad
फ़ाइलें मिटाएं- एज-रूटर कॉम्पोनेंट को रीस्टार्ट करें.
sudo yum update apigee-nginx