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

Trình định tuyến cạnh được triển khai bằng cách sử dụ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, bạn có thể thấy lỗi cấu hình NGINX. Khi lỗi xảy ra, Edge sẽ đánh dấu tất cả tệp cấu hình NGINX gây ra sự cố /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, có thể bạn sẽ không thực thi được API của mình proxy do tệp cấu hình bị lỗi.

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ị không chính xác được đặt thành (Các) thuộc tính NGINX trong tệp /opt/apigee/customer/application/router.properties hoặ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 các tên tệp trong /opt/nginx/conf.d để chúng kết thúc bằng .conf.
  1. Chạy công cụ configtest NGINX để xác định lý do lỗi:
    /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 gây ra tệp cấu hình bị lỗi, hãy khắc phục vấn đề bằng cách thực hiện thay đổi thích hợp đối với tài sản 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 không hợp lệ trong /opt/nginx/conf.d .

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

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 do bài kiểm thử cấu hình NGINX.

Ví dụ 1: Tập hợp giá trị không chính xác cho tài sản NGINX

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

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

  1. Chạy lệnh NGINX configtest để xác định lý do không thực hiện được:
    /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_buffer_size nhưng có vẻ như đã được đặt bằng giá trị không chính xác.

  1. Kiểm tra các giá trị được đặ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
    

Sự cố đã được khắc phục và các tệp cấu hình không hợp lệ đã bị xoá.

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

Giả sử bạn chạy configtest và nhận về 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 chỉ ra rằng quá trình không thể nâng cấp 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 chính xác sự cố 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 quay đã 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 thuộc /opt/apigee/nginx/conf.d.
  6. Khởi động lại thành phần bộ định tuyến cạnh.