2016-07-25 23 views
0

Meine Frage ist, wie die Systemumgebungsvariable zu nginx.conf übergeben?So übergeben Sie die Systemumgebungsvariable an nginx.conf

definiere ich eine Systemvariable CLASSPATH in/etc/profile:

export CLASSPATH = $ CLASSPATH: $HADOOP_HOME/bin/hadoop classpath --glob

Und ich definieren Schlepptau Variablen in nginx.conf:

env TEST_ENV =/usr/lokal/test;

env $ CLASSPATH;

und drucken, die Variablen von lua:

Lage/lua {

default_type text/html; 

content_by_lua ' 

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

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

'; 

}

Die Ergebnisse, wie nachstehend:

ngx.say (os.getenv ("TEST_ENV")); ====>/usr/lokal/test

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

Sieht die Richtlinie env kann den Systemwert nicht passieren

Jeder Vorschlag nginx.conf?

+0

Versuche 'env CLASSPATH;' ohne die '$'. –

+0

env CLASSPATH; drucke auch nil. –

Antwort

0

Dies ist, wie ich es mit fastcgi tun und hoffentlich wird es für Sie oder irgendjemand da draussen nützlich sein. Meine Umgebungsvariablen sind unter/etc/environment definiert. Beachten Sie, dass Sie, nachdem Sie sie definiert haben, source /etc/environment verwenden können, um sie für Ihre Sitzung verfügbar zu machen.

Nehmen wir zum Beispiel eine Ihrer Variablen. Diese unter/etc/environment gehen würde CLASSPATH=$HADOOP_HOME/bin/hadoop classpath

Sobald diese für nginx im System definiert wurde ich folgende in der Lage Block hinzufügen würde: fastcgi_param CLASSPATH $CLASSPATH; include fastcgi_params;

Verwandte Themen