ホームページ  >  に質問  >  本文

django - Apache が設定ファイルをロードする際の環境変数の読み取りに関する問題

私のプロジェクトは django + apache を使用してデプロイされています。オンライン環境と開発環境を簡単に区別するために、サーバー上に環境変数を設定し、これを Django 設定ファイルに記述しました 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

みんなに何が起こっているのか聞いてみませんか?

天蓬老师天蓬老师2713日前548

全員に返信(1)返信します

  • 迷茫

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

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

    返事
    0
  • キャンセル返事