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
- 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.
- Chạy công cụ configtest NGINX để xác định lý do lỗi:
/opt/nginx/scripts/apigee-nginx configtest
Độ phân giải
- 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.
- Xoá thư mục
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- Khởi động lại Bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- 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
- 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.
- 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.
- Kiểm tra các giá trị được đặt cho các thuộc tính
proxy_buffer_size và proxy_bận_buffers_size
trong tệp
0-default.conf
:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- 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
- Xoá thư mục
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- 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:
- Dừng thành phần bộ định tuyến cạnh.
- Sao lưu thành phần bộ định tuyến cạnh.
- Chạy lệnh này để nâng cấp lên apigee-nginx 1.2.x:
- Xoá tất cả
*.bad
tệp thuộc/opt/apigee/nginx/conf.d.
- Khởi động lại thành phần bộ định tuyến cạnh.
sudo yum update apigee-nginx