내 프로젝트는 django + apache를 사용하여 배포되었습니다. 온라인 환경과 개발 환경을 쉽게 구분하기 위해 서버에 환경 변수를 설정한 다음 Z_ENV
Django 구성 파일에 다음을 작성했습니다.
으아악
직접 실행하면 Apache 로그 파일에 None이 인쇄됩니다. os.environ.get("Z_ENV", None)
就是server
或者python managa.py syncdb
,确实是使用的server_settings
里面的配置,但是在apache载入配置文件的时候却没有获取到这个环境变量,然后就使用了local_settings
,我是在上面加了一句print env
的,然后service apache2 restart
처음에는 apache 사용자에게는 적용되지 않았으나, 나중에 확인해 보니 여기서 설정한 환경변수는 모든 사용자에게 적용되는 것으로 나타났습니다. /etc/profile
文件,内容是Z_ENV=server export Z_ENV
에
/etc/apache2/envvars
中设置export Z_ENV=server