nginx 설정에서 환경 변수를 사용하고 nginx가 정적 파일 (html, js, css-예를 들어 AngularJs 앱) 만 제공하도록 구성된 경우 nginx가 제공하는 JS 파일 내에서 환경 변수를 사용할 수있는 방법이 있습니까 ? 또는 io.js, php 등의 비 정적 서버를 실행하기위한 유일한 방법입니다.
그러나 nginx의 구성에서 기본적으로 환경 변수를 사용할 수 없습니다.
나는 환경에 대해 말할 때이에 바르의 nginx 설정 I 평균이 게시물에 같이 : 어떻게 Nginx.conf에서 환경 변수를 사용할 수 있습니다 그들이 사용하는 경우 env APP_WEB_1_PORT_5000_TCP_ADDR;
와$ENV{"APP_WEB_1_PORT_5000_TCP_ADDR"};
사용 사례를 정확하게 설명
내 구체적인 사용 사례는 도커 컨테이너에 nginx 기반 AngularJS 앱이 있다는 것입니다. 이 응용 프로그램은 다른 시스템에서 실행되는 API를 모두 사용하는 "단일 페이지 응용 프로그램"입니다. 현재 앱에 Google-Analtyics 코드와 같은 구성이 다르기 때문에 프로덕션과 스테이징 사이에 다른 도커 컨테이너를 실행합니다. 이 환경 특정 데이터는 config.js
파일에 보관되며 값은 현재 하드 코딩 master
되어 있으며 git 의 분기 값 하나 와 staging
분기의 값이 다릅니다 . 생산 및 준비에 동일한 컨테이너를 사용할 수 있도록 디자인을 변경하고 싶습니다 . 나는 그것을 (실행 컨테이너로 ENV의 VAR를 전달하려는 docker run -e GACODE=UA-12345-6 ...
)와를 통해 ENV var에를 (사용의 nginx가 env GACODE;
와 $ENV{"GACODE"}
너무config.js
파일은 하드 코딩하지 않고 전달 된 GoogleAnaltyics 코드를 사용할 수 있습니다). 이것이 가능한지 아닌지 모르겠습니다 (따라서 질문;)). nginx 만 사용하면 컨테이너가 단일 프로세스가되지만 io.js를 사용해야하는 경우 여러 개의 연결된 컨테이너가 필요하며 더 많은 움직이는 부분이 더 복잡합니다).