فایل‌های پیکربندی بد

درحال مشاهده اسناد 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 یا ایجاد تغییرات نادرست در میزبان مجازی به‌عنوان بد علامت‌گذاری می‌شوند.

تشخیص

  1. پسوند .bad را از نام فایل‌ها در دایرکتوری /opt/nginx/conf.d بردارید تا نام فایل‌ها با .conf تمام شود.
  1. ابزار configtest مربوط به NGINX را اجرا کنید تا دلیل این خطا را پیدا کنید:
    /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 مشکل را برطرف کنید.

مثال ۱: مجموعه مقدار نادرست برای دارایی NGINX

  1. فرض کنید ویژگی «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 به‌عنوان بد علامت‌گذاری شوند.

  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_buffer_size باشد، اما به‌نظر می‌رسد مقدار نادرستی برای آن تنظیم شده است.

  1. مقادیر تنظیم‌شده برای ویژگی‌های proxy_buffer_size و proxy_busy_buffers_size را در فایل 0-default.conf بررسی کنید:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. مقدار proxy_busy_buffers_size را در فایل /opt/apigee/customer/application/router.properties به ۵۱۲K به‌روز کنید:
    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

مشکل برطرف شد و فایل‌های پیکربندی بد برداشته شد.

مثال ۲: فرایند ارتقا دادن 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 برگرداند. اگر این کار را انجام نمی‌دهد، این مراحل را دنبال کنید:

  1. جزء رهیاب لبه را متوقف کنید.
  2. از عنصر رهیاب لبه پشتیبان‌گیری کنید.
  3. برای ارتقا دادن به apigee-nginx نسخه 1.2.x، این فرمان را اجرا کنید:
  4. sudo yum update apigee-nginx
  5. حذف همه *.bad فایل در /opt/apigee/nginx/conf.d.
  6. جزء رهیاب لبه را بازراه‌اندازی کنید.