2017-01-09 42 views
0

我服務與uwsgi和nginx的燒瓶中的應用程序使用/ etc /環境中工作。uwsgi:os.getenv( 「PATH」)不會在Linux

我注意到uwsgi線程os.getenv( 「PATH」)輸出中:

/sbin:/usr/sbin:/bin:/usr/bin 

而我的/ etc/environment文件是:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/dcm4che-3.3.8/bin" 

我已經重新啓動我的系統開機自檢改變/ etc/environment,所以我沒有看到爲什麼os.getenv(「PATH」)不包括來自/ etc/environment的信息。

這究竟是爲什麼?

+0

也許你正在使用'sudo'運行你的應用程序? –

+0

擁有uwsgi procs的用戶是www-data(只是使用top對其進行了雙重檢查)。 –

+0

@ Jean-FrançoisFabre:uwsgi進程正在使用virtualenv--可能與它有關嗎? –

回答

1

upstartsystemd不是採購/etc/environment。您可以將環境變量移動到/etc/default

通過採購/etc/environment/etc/default/uwsgi中您實際上移動了環境變量。