คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
ลักษณะปัญหา
เราเตอร์ 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
ข้อความแสดงข้อผิดพลาด
คุณจะไม่เห็นข้อความแสดงข้อผิดพลาดใดๆ อย่างไรก็ตาม คุณอาจเรียกใช้พร็อกซี API ไม่ได้เนื่องจากไฟล์การกำหนดค่าไม่ถูกต้อง
สาเหตุที่เป็นไปได้
โดยปกติแล้ว ระบบจะทำเครื่องหมายไฟล์การกำหนดค่า 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
ตัวอย่างที่ 1: ตั้งค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ NGINX
- สมมติว่าคุณอัปเดตพร็อพเพอร์ตี้ "proxy_busy_buffers_size"
เป็น 128K ในไฟล์
/opt/apigee/customer/application/router.propertiesดังที่แสดง ด้านล่างconf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k
ซึ่งทำให้ระบบทำเครื่องหมายไฟล์การกำหนดค่าว่าไม่ถูกต้องใน /opt/apigee/nginx/conf.d
ไดเรกทอรี
- เรียกใช้คำสั่ง configtest ของ NGINX เพื่อหาสาเหตุที่ทำให้เกิดข้อผิดพลาด
/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.confproxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- อัปเดตค่าของ proxy_busy_buffers_size เป็น 512K ใน
/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 ไม่สำเร็จ (Private Cloud 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
คำสั่งนี้ควรแสดง rpm ที่ติดตั้งเป็นเวอร์ชัน 1.12.x หากไม่เป็นเช่นนั้น ให้ทำตามขั้นตอนต่อไปนี้
- หยุดคอมโพเนนต์ edge-router
- สำรองข้อมูลคอมโพเนนต์ edge-router
- เรียกใช้คำสั่งนี้เพื่ออัปเกรดเป็น apigee-nginx 1.2.x
- ลบไฟล์
*.badทั้งหมดใน/opt/apigee/nginx/conf.d. - รีสตาร์ทคอมโพเนนต์ edge-router
sudo yum update apigee-nginx