현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동 정보
증상
Edge Router는 NGINX를 사용하여 구현됩니다. 에지 업그레이드 프로세스 중에 또는 라우터 구성을 변경할 때 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 프록시를 실행하지 못할 수 있습니다.
가능한 원인
일반적으로 /opt/apigee/customer/application/router.properties
파일에서 잘못된 값이 NGINX 속성으로 설정되거나 가상 호스트가 잘못 변경되기 때문에 NGINX 구성 파일이 잘못된 것으로 표시됩니다.
진단
/opt/nginx/conf.d
디렉터리의 파일 이름에서.conf로 끝나도록 .bad 접미사를 삭제합니다.
- NGINX configtest 도구를 실행하여 실패 이유를 확인합니다.
/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 속성에 잘못된 값이 설정됨
- 아래와 같이
/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
디렉터리에서 구성 파일이 잘못된 것으로 표시되었습니다.
- 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
configtest 결과는 proxy_busy_buffers_size 속성 값이 proxy_busy_buffers_size보다 크거나 같아야 하지만 잘못된 값으로 설정되어 있음을 나타냅니다.
0-default.conf
파일에서 proxy_buffer_size 및 proxy_empty_buffers_size 속성에 설정된 값을 확인합니다.proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
/opt/apigee/customer/application/router.properties
파일에서 Proxy_Busy_buffers_size의 값을 512K로 업데이트합니다.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 구성요소를 중지합니다.
- 에지 라우터 구성요소를 백업합니다.
- 다음 명령어를 실행하여 apigee-nginx 1.2.x로 업그레이드합니다.
/opt/apigee/nginx/conf.d.
의 파일*.bad
개 모두 삭제- Edge-router 구성요소를 다시 시작합니다.
sudo yum update apigee-nginx