2016-07-25 15 views
0

私の質問は、システム環境変数をnginx.confに渡す方法です。システム環境変数をnginx.confに渡す方法

私は/ etc/profileをシステム変数CLASSPATHを定義します。

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

そして、私はnginx.confに牽引変数を定義します。

のenv TEST_ENV =/usr/local/test;

env $ CLASSPATH;

とLUAによって変数印刷:(

ngx.say(os.getenv:

位置/ LUA {

default_type text/html; 

content_by_lua ' 

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

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

'; 

}

として以下の結果を"TEST_ENV")); ====>/usr/local/test

ngx.say(os.getenv( "CLASSPATH")); ====> nilの

は、システム値を渡すことはできませんのenvディレクティブは

任意の提案をnginx.confして見えますか?

+0

'のenv CLASSPATHを試してみてください;'なし'$'。 –

+0

env CLASSPATH;印刷もありません。 –

答えて

0

これは私がfastcgiを使用して行う方法です。うまくいけば、それはあなたや誰にも役立つでしょう。私のenv変数は/ etc/environmentに定義されています。定義した後は、source /etc/environmentを使用してセッションで使用できるようにすることができます。

変数を例に取ってみましょう。 これらはシステムで定義されていたら、これはnginxのために、私は場所のブロック内で以下を追加したい、の/ etc /環境 CLASSPATH=$HADOOP_HOME/bin/hadoop classpath

の下に行くとは: fastcgi_param CLASSPATH $CLASSPATH; include fastcgi_params;

関連する問題