0

python3.3Django アプリを openshift ( 、、django1.7Openshift 2.1)にデプロイしようとしています。

OPENSHIFT_PYTHON_WSGI_APPLICATION別の場所を指すように設定する必要がありwsgi.pyます。

pre_build次のコマンドを使用して、スクリプトを使用して変数を設定しようとしました。

export OPENSHIFT_PYTHON_WSGI_APPLICATION="$OPENSHIFT_REPO_DIR"geartest4/wsgi.py
echo "-------> $OPENSHIFT_PYTHON_WSGI_APPLICATION"

スクリプトが変数を正しく設定しgit pushていることがわかります。pre_buildecho、期待どおりの正しいパスを示しています。ただしwsgi.py、起動せず、次のようになります。

CLIENT_ERROR: WSGI アプリケーションが見つかりませんでした

すぐsshにギアに入って環境変数を確認するOPENSHIFT_PYTHON_WSGI_APPLICATION=""と、設定されていないことがわかります。

変数スティックを使用してワークステーションから手動で変数を設定するrhc set-env OPENSHIFT_PYTHON_WSGI_APPLICATION=/var/lib/openshift/gear_name/bla/blaと、wsgi サーバーが起動し、アプリは正常に動作します。

rhc set-env問題は、パスにギア名を固定する必要があるため、使用したくないことです。これは、複数のギアでスケーリングを行いたい場合に問題になります。

変数を設定してスティックにする方法について誰かアイデアがありますか?

4

1 に答える 1

1

環境変数OPENSHIFT_PYTHON_WSGI_APPLICATIONは、次のように相対パスに設定できます。

rhc env set OPENSHIFT_PYTHON_WSGI_APPLICATION=wsgi/wsgi.py

jfmatth による openshift カートリッジopenshift-django17もこのアプローチを使用しています。

于 2015-02-16T10:36:22.497 に答える