>  Q&A  >  본문

django - 아파치가 구성 파일을 로드할 때 환경 변수를 읽는 데 문제가 있습니다.

내 프로젝트는 django + apache를 사용하여 배포되었습니다. 온라인 환경과 개발 환경을 쉽게 구분하기 위해 서버에 환경 변수를 설정한 다음 Z_ENV Django 구성 파일에 다음을 작성했습니다. 으아악

이러한 작성 방식은 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

모두들 무슨 일인지 물어볼까요?

天蓬老师天蓬老师2713일 전549

모든 응답(1)나는 대답할 것이다

  • 迷茫

    迷茫2017-05-16 17:05:31

    /etc/apache2/envvars 中设置 export Z_ENV=server

    회신하다
    0
  • 취소회신하다