Tệp cấu hình lỗi

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Triệu chứng

Bộ định tuyến cạnh được triển khai bằng NGINX. Trong quá trình nâng cấp Edge hoặc khi thay đổi cấu hình của Bộ định tuyến, có thể bạn sẽ thấy lỗi cấu hình NGINX. Khi những lỗi này xảy ra, Edge sẽ đánh dấu tất cả các tệp cấu hình NGINX gây ra vấn đề cho /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

Thông báo lỗi

Bạn sẽ không thấy thông báo lỗi nào. Tuy nhiên, bạn có thể không thực thi được proxy API của mình do các tệp cấu hình không hợp lệ.

Nguyên nhân có thể xảy ra

Thông thường, các tệp cấu hình NGINX bị đánh dấu là không hợp lệ do(các) giá trị được đặt thành(các) thuộc tính NGINX trong tệp /opt/apigee/customer/application/router.properties hoặc do các thay đổi không chính xác được thực hiện đối với máy chủ ảo.

Chẩn đoán

  1. Xoá hậu tố .bad khỏi tên tệp trong thư mục /opt/nginx/conf.d để những tên tệp này có đuôi .conf.
  1. Chạy công cụ kiểm tra cấu hình NGINX để xác định lý do không thành công:
    /opt/nginx/scripts/apigee-nginx configtest
    

Độ phân giải

  1. Nếu quy trình kiểm tra cấu hình xác định được nguyên nhân của các tệp cấu hình không hợp lệ, hãy khắc phục vấn đề bằng cách thực hiện các thay đổi thích hợp cho thuộc tính cụ thể trong tệp /opt/apigee/customer/application/router.properties hoặc máy chủ ảo.
  1. Xoá thư mục /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Khởi động lại bộ định tuyến:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  1. Bạn sẽ không còn thấy các tệp cấu hình lỗi trong thư mục /opt/nginx/conf.d nữa.

Nếu sự cố vẫn tiếp diễn, hãy liên hệ với Bộ phận hỗ trợ của Apigee.

Sau đây là một ví dụ cho thấy cách khắc phục vấn đề dựa trên thông tin mà quy trình kiểm thử cấu hình NGINX cung cấp.

Ví dụ 1: Giá trị bạn đặt cho một thuộc tính NGINX không chính xác

  1. Giả sử bạn đã cập nhật giá trị "proxy_busy_buffers_size" trong tệp /opt/apigee/customer/application/router.properties, như minh hoạ bên dưới thành 128K:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 
    

Việc này khiến các tệp cấu hình bị đánh dấu là không hợp lệ trong thư mục /opt/apigee/nginx/conf.d.

  1. Chạy lệnh NGINX configtest để xác định lý do không thành công:
    /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
    

Kết quả configtest cho biết rằng giá trị cho thuộc tính proxy_busy_buffers_size phải bằng hoặc lớn hơn proxy_busy_buffers_size, nhưng có vẻ như được đặt bằng một giá trị không chính xác.

  1. Kiểm tra các giá trị đã đặt cho các thuộc tính proxy_buffer_sizeproxy_bận_buffers_size trong tệp 0-default.conf:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
    
  1. Cập nhật giá trị của proxy_bận_buffers_size thành 512K trong tệp /opt/apigee/customer/application/router.properties:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
    
  1. Xoá thư mục /opt/nginx/conf.d:
    rm -rf /opt/nginx/conf.d
    
  1. Khởi động lại bộ định tuyến:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    

Chúng tôi đã khắc phục sự cố này và xoá các tệp cấu hình không hợp lệ.

Ví dụ 2: Quy trình không nâng cấp được NGINX (chỉ dành cho Private Cloud 18.01)

Giả sử bạn chạy configtest và nhận lại các phản hồi sau:

/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

Lỗi này cho biết quá trình không nâng cấp được NGINX từ 1.10.x lên 1.12.x. Có một lỗi đã biết liên quan đến việc nâng cấp Edge Private Cloud lên phiên bản 18.01.

Để chẩn đoán đúng vấn đề này (chỉ khi bạn đang sử dụng Private Cloud 18.01), hãy làm như sau:

rpm -aq | grep apigee-nginx

Lệnh này sẽ trả về vòng/phút đã cài đặt dưới dạng phiên bản 1.12.x. Nếu không, hãy làm theo các bước sau:

  1. Dừng thành phần bộ định tuyến cạnh.
  2. Sao lưu thành phần bộ định tuyến cạnh.
  3. Chạy lệnh này để nâng cấp lên apigee-nginx 1.2.x:
  4. sudo yum update apigee-nginx
  5. Xoá tất cả *.bad tệp trong /opt/apigee/nginx/conf.d.
  6. Khởi động lại thành phần bộ định tuyến cạnh.