درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
نشانه
«رهیاب لبه» بااستفاده از 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 تمام شود.
- ابزار configtest مربوط به 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 مشکل را برطرف کنید.
مثال ۱: مجموعه مقدار نادرست برای دارایی NGINX
- فرض کنید ویژگی «proxy_busy_buffers_size» را
در فایل
/opt/apigee/customer/application/router.propertiesبه 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_buffer_size باشد، اما بهنظر میرسد مقدار نادرستی برای آن تنظیم شده است.
- مقادیر تنظیمشده برای ویژگیهای
proxy_buffer_size و proxy_busy_buffers_size
را در فایل
0-default.confبررسی کنید:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- مقدار proxy_busy_buffers_size را در فایل
/opt/apigee/customer/application/router.propertiesبه ۵۱۲K بهروز کنید: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
مشکل برطرف شد و فایلهای پیکربندی بد برداشته شد.
مثال ۲: فرایند ارتقا دادن NGINX ناموفق است (فقط «ابر خصوصی ۱۸.۰۱»)
فرض کنیم 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 به نسخه ۱۸.۰۱ وجود دارد.
برای تشخیص صحیح این مشکل (فقط اگر از «ابر خصوصی» نسخه ۱۸.۰۱ استفاده میکنید)، این کارها را انجام دهید:
rpm -aq | grep apigee-nginx
این فرمان باید rpm نصبشده را بهعنوان نسخه 1.12.x برگرداند. اگر این کار را انجام نمیدهد، این مراحل را دنبال کنید:
- جزء رهیاب لبه را متوقف کنید.
- از عنصر رهیاب لبه پشتیبانگیری کنید.
- برای ارتقا دادن به apigee-nginx نسخه 1.2.x، این فرمان را اجرا کنید:
- حذف همه
*.badفایل در/opt/apigee/nginx/conf.d. - جزء رهیاب لبه را بازراهاندازی کنید.
sudo yum update apigee-nginx