2016-07-25 78 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;

相关问题