WSGI를 사용하여 Python Flask 웹 응용 프로그램을 실행하기 위해 Ubuntu 12.04에 Apache를 구성했습니다. 다음은/etc/아파치/사이트 지원/000 기본의 일부입니다Python Flask WSGI 파일이 사용자의 환경 변수를 무시합니다.
<VirtualHost *>
WSGIDaemonProcess 3dkit user=3dkit group=3dkit threads=5
WSGIScriptAlias /3dkit /3dkit/kit.wsgi
WSGIPassAuthorization On
<Location /3dkit>
WSGIProcessGroup 3dkit
</Location>
...
는 그리고 여기 /3dkit/kit.wsgi입니다 :
import os
import sys
sys.path.insert(0, '/3dkit')
print 'user =', os.environ['USER']
from kit import app as application
인쇄 명령은 예외와 함께 실패
KeyError: 'USER'
그러나 단말기 창에서이 명령
sudo -u 3dkit printenv USER
은 예상대로 "3dkit"을 출력합니다.
이 환경 변수 만이 아닙니다. /home/3dkit/.profile 또는/etc/environment 또는 다른 방법으로 환경 변수를 설정하려고해도 내 WSGI 파일에서는 무시됩니다. 내가 할 수있는 유일한 방법은 명시 적으로 os.environ을 호출하고 WSGI 파일 자체에서 환경 변수를 설정하는 것입니다.
누구든지 내가 뭘 잘못하고 있다고 말할 수 있습니까?
어떻게 환경 변수를 설정 했습니까? 당신은 그것을 수출하기 때문에 쉘 밖에서 사용할 수 있습니까? –
/home/3dkit/.profile의 경우 예, export를 사용했습니다./etc/environment의 경우, https://help.ubuntu.com/community/EnvironmentVariables에 따릅니다. –