2016-07-25 105 views
0

我的問題是如何通過系統環境變量nginx.conf?如何通過系統環境變量nginx.conf

我定義在/ etc/profile文件的系統變量CLASSPATH:

出口CLASSPATH = $ CLASSPATH:$HADOOP_HOME/bin/hadoop classpath --glob

我在nginx.conf定義拖變量:

ENV TEST_ENV =在/ usr /本地/測試;

ENV $ CLASSPATH;

並打印由LUA變量:

位置/ LUA {

default_type text/html; 

content_by_lua ' 

    ngx.say(os.getenv("TEST_ENV")); 

    ngx.say(os.getenv("CLASSPATH")); 

'; 

}

結果如下:

ngx.say(os.getenv( 「TEST_ENV」)); ====>/usr/local/test

ngx.say(os.getenv(「CLASSPATH」)); ====>零

看起來和ENV指令無法通過系統的價值nginx.conf

什麼建議嗎?

+0

嘗試'ENV CLASSPATH;'不'$'。 –

+0

env CLASSPATH;也打印零。 –

回答

0

這是我如何做到這一點使用FastCGI,希望它會是你或有用的人在那裏。我的env變量在/ etc/environment下定義。請注意,在您定義它們之後,您可以使用source /etc/environment將它們提供給您的會話。

讓我們舉個例子您的變量之一。 這將在/ etc /環境 CLASSPATH=$HADOOP_HOME/bin/hadoop classpath

去下一旦這些已經在系統中定義,nginx的我想補充的位置塊內的以下內容: fastcgi_param CLASSPATH $CLASSPATH; include fastcgi_params;

相關問題