2016-07-04 9 views
1

nginxとgunicornを使用してUbuntuサーバーでDjango Webアプリケーションを実行しています。 settings.pyを、環境変数を使用してSECRET_KEYやAPIキーなどの秘密情報を非表示にするように適切に設定しようとしています。Django設定の秘密鍵環境変数502 nginx

私は.bashrcなど.profileexport SECRET_KEY='secret_key'を入れて、私のsettings.pyファイルにSECRET_KEY=os.environ['SECRET_KEY']を使用して試してみたが、これはgunicornを再起動すると、nginxの、下端がバージョンで502不正ゲートウェイ・エラーがスローされます。私はサーバーをセットアップするのがとても新しいので、何を試していいのか分かりません。

私はこれが私のgunicornサービスの初期化ファイルであるを信じ

:それは502不正なゲートウェイを提供するサイトを、要求しようとしたとき、私はnginxのエラーログに、このエラーを検出しました

[Unit] 
Description=gunicorn daemon 
After=network.target 

[Service] 
User=myuser 
Group=www-data 
WorkingDirectory=/home/myuser/myproject/mysite 
ExecStart=/home/myuser/myproject/mysite/myprojectenv/bin/gunicorn --workers 3 --bind unix:/home/myuser/myproject/mysite/mysite.sock mysite.wsgi:application 


[Install] 
WantedBy=multi-user.target 

*20 connect() to unix:/home/myuser/myproject/mysite/mysite.sock failed (2: No such file or directory) 
+0

のEnv変数は次の形式などのファイルに入力されましたか?ガンコンをどんなユーザーで使っていますか?どうやってガンコーンを始めたの? –

+0

@DanielRoseman私は自分のユーザーフォルダにある.bashrcを使用しています。このユーザーはgunicorn(私のプロジェクトのvirtualenvフォルダ内にあります)を実行するためにも使用しています。私はgunicornを起動するために使用している正確な方法がわからないので、サーバーに変更を適用するために単に "service gunicorn restart"を使用しています。 – sidp

+0

あなたはgunicornを起動するために 'service'を使用しているので、起動時に実行しています。使用しているinitスクリプトを投稿する必要があります。 –

答えて

2

私は現在のシェルでexport作品として、/etc/systemd/system/に位置gunicorn.serviceファイル内の私の環境変数を置くことによってこの問題を解決しました。誰の.bashrcに使用している

[Service] 
Environment="SECRET_KEY=secret-key-string"