2016-08-20 5 views
1

次のコードは、システムのローカルホストで問題なく動作しています...しかし、OpenShiftで作業していません。 私のwsgi.pyに何か問題があります。環境変数を使用してユーザー名とパスワードを渡すか、ローカルホストを変更する必要がありますか?フラスコを開閉式で配置する

次は、ディレクトリ/リポジトリ...

myflaskaws 
├── requirements.txt 
├── setup.py 
├── static 
│   ├── assets 
│   │   ├── style.css 
│   └── images 
│    ├── no.png 
│    └── yes.png 
├── templates 
│   ├── index.html 
│   ├── login.html 
│   ├── searchlist.html 
│   ├── update.html 
├── test.py 
├── test.pyc 
└── wsgi.py` 

wsgi.py

#!/usr/bin/python 
import os 
virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/' 
virtualenv = os.path.join(virtenv, 'bin/activate_this.py') 
try: 
    execfile(virtualenv, dict(__file__=virtualenv)) 
except IOError: 
    pass 
from test import app as application 
if __name__ == '__main__': 
    from wsgiref.simple_server import make_server 
    httpd = make_server('localhost', 8051, application) 
    print("Serving at http://localhost:8051/ \n PRESS CTRL+C to Terminate. \n") 
    httpd.serve_forever() 
    print("Terminated!!") 

test.py

012の木であります
from flask import Flask 
app = Flask(__name__) 

PS:私は使用していないよ "場合 == 'メイン':" test.py

+0

どのように動作していないのか、どのようなエラーが表示されているのか、どこにどこにあるのかを説明します。 '' myflaskaws''があなたのリポジトリのサブディレクトリであれば、動作しません。 OpenShift 2は、そのディレクトリ内のすべてがリポジトリのルートにあると考えます。また、OpenShift 2の場合、静的ファイルは '' wsgi/static''ディレクトリにある必要があり、 '' static''ではなくrepo rootにする必要があります。 –

+0

@GrahamDumpleton:myflaskawsはAPP-NAMEです。あなたはwsgi(New Folder?)に静的に移動する必要があるということです...他にwsgiフォルダには何が必要ですか? –

+0

あなたはまだそれが働いていない方法をまだ説明していません。エラー、ブラウザ、ログはどこに表示されますか?エラーは何ですか?それとも、CSSやその他の統計が機能していないという問題だけですか? ''静的 ''場所に関しては、あなたが望むのは '' mkdir wsgi; mv静的wsgi/''です。最初に問題が何かを説明してください。 –

答えて

0

はい、あなたが設定しOpenshiftの環境変数を使用する必要がありますIPとポートをアップします。

OSまたはローカルホスト上にあるかどうかに応じて、適切なIPとポートを設定するために、以下のコードを追加してみてください。

Import os 

if 'OPENSHIFT_APP_NAME' in os.environ:    #are we on OPENSHIFT? 
    ip = os.environ['OPENSHIFT_PYTHON_IP'] 
    port = int(os.environ['OPENSHIFT_PYTHON_PORT']) 
else: 
    ip = '0.0.0.0'       #localhost 
    port = 8051 

httpd = make_server(ip, port, application) 
+0

ポートは組み込みのApache/mod_wsgiを使用していない場合にのみ関連し、 '' app.py''ファイルで独自の実行可能なWebサーバー/アプリケーションを提供しています。彼らは '' app.py''ファイルを提供していませんが、Apache/mod_wsgiが使うものである '' wsgi.py''ファイルを持っています。問題はその場所にある可能性がありますが、まだエラーの説明ではないため、伝えにくいです。 –

関連する問題