খারাপ কনফিগার ফাইল

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

উপসর্গ

এজ রাউটারটি NGINX ব্যবহার করে প্রয়োগ করা হয়। এজ আপগ্রেড প্রক্রিয়া চলাকালীন, বা রাউটারের কনফিগারেশন পরিবর্তন করার সময়, আপনি NGINX কনফিগারেশন ত্রুটিগুলি দেখতে পারেন। এই ত্রুটিগুলি ঘটলে, এজ সমস্ত 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

ত্রুটি বার্তা

আপনি কোন ত্রুটি বার্তা দেখতে পাবেন না. যাইহোক, খারাপ কনফিগার ফাইলগুলির কারণে আপনি আপনার API প্রক্সিগুলি চালাতে পারবেন না।

সম্ভাব্য কারণ

সাধারণত NGINX কনফিগার ফাইলগুলিকে খারাপ হিসাবে চিহ্নিত করা হয় কারণ ভুল মান (গুলি) /opt/apigee/customer/application/router.properties ফাইলে NGINX প্রপার্টি(ies) সেট করা হয় বা ভার্চুয়াল হোস্টে ভুল পরিবর্তন করা হয়।

রোগ নির্ণয়

  1. /opt/nginx/conf.d ডিরেক্টরির ফাইলের নাম থেকে .bad প্রত্যয়টি সরান যাতে সেগুলি .conf-এ শেষ হয়।
  1. ব্যর্থতার কারণ নির্ধারণ করতে 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 কনফিগারেশন পরীক্ষার দ্বারা প্রদত্ত তথ্যের উপর ভিত্তি করে সমস্যার সমাধান করা যায়।

উদাহরণ 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

কনফিটেস্ট ফলাফলগুলি ইঙ্গিত করে যে প্রপার্টি proxy_busy_buffers_size এর মান proxy_buffer_size এর সমান বা তার বেশি হওয়া উচিত, কিন্তু মনে হচ্ছে এটি একটি ভুল মান দিয়ে সেট করা হয়েছে৷

  1. 0-default.conf ফাইলে proxy_buffer_size এবং proxy_busy_buffers_size বৈশিষ্ট্যগুলির জন্য সেট করা মানগুলি পরীক্ষা করুন:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. /opt/apigee/customer/application/router.properties ফাইলে proxy_busy_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

এই ব্যর্থতা নির্দেশ করে যে প্রক্রিয়াটি 1.10.x থেকে 1.12.x এ NGINX আপগ্রেড করতে ব্যর্থ হয়েছে৷ এজ প্রাইভেট ক্লাউডকে 18.01 সংস্করণে আপগ্রেড করার সাথে সম্পর্কিত একটি পরিচিত বাগ রয়েছে।

এই সমস্যাটি সঠিকভাবে নির্ণয় করতে (কেবল আপনি যদি ব্যক্তিগত ক্লাউড 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. এজ-রাউটার কম্পোনেন্ট রিস্টার্ট করুন।