أنت تعرض مستندات 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 تشير إلى أنّه غير صحيح إما بسبب تعيين القيم غير الصحيحة على
سمات NGINX في ملف /opt/apigee/customer/application/router.properties
أو إجراء تغييرات غير صحيحة على المضيف الظاهري.
التشخيص
- أزِل اللاحقة .bad من أسماء الملفات في
دليل
/opt/nginx/conf.d
حتى تنتهي بـ .conf.
- شغِّل أداة إعداد NGINX لتحديد سبب التعذُّر:
/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
- لنفترض أنك عدّلت الموقع "proxy_busy_buffers_size"
إلى 128 كيلوبايت في ملف
/opt/apigee/customer/application/router.properties
، كما هو موضح أدناه: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_buffer_size، ولكن يبدو أنه تم ضبطه بقيمة غير صحيحة.
- التحقّق من القيم المعيّنة للخصائص
proxy_buffer_size وproxy_مشغول_buffers_size
في ملف
0-default.conf
:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- حدِّث قيمة الخادم الوكيل_مشغول_باقة_التخزين المؤقت إلى 512 كيلوبايت في
ملف
/opt/apigee/customer/application/router.properties
: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 Private Cloud إلى الإصدار 18.01.
لتشخيص هذه المشكلة بشكل صحيح (فقط إذا كنت تستخدم Private Cloud 18.01)، يمكنك تنفيذ ما يلي:
rpm -aq | grep apigee-nginx
من المفترض أن يعرض هذا الأمر عدد الدورات في الدقيقة المثبَّتة كإصدار 1.12.x. وإذا لم يحدث ذلك، اتّبِع الخطوات التالية:
- أوقِف مكوّن جهاز توجيه الحافة.
- احتفِظ بنسخة احتياطية من مكوّن جهاز توجيه الحافة.
- نفِّذ الأمر التالي للترقية إلى apigee-nginx 1.2.x:
- حذف كل الملفات البالغ عددها
*.bad
ضمن/opt/apigee/nginx/conf.d.
- أعِد تشغيل مكوِّن جهاز توجيه الحافة.
sudo yum update apigee-nginx