2012-04-14 13 views
1

FlaskをWebfactionサーバー上で何時間も動作させようとしています。Webfactionに簡単なFlaskアプリケーションをデプロイできません

私はhtdocsの下に保存された私のindex.pyファイルを持っているhttp://flask.pocoo.org/snippets/65/

で指示に従いました。

import sys 
yourappname = "/home/<myusername>/webapps/myapp/htdocs" 
if not yourappname in sys.path: 
    sys.path.insert(0, yourappname) 

from yourappname import app as application 

それから私は私のhttpd.confファイルにこれを追加しました:

WSGIPythonPath /home/yourusername/webapps/yourapp/htdocs/ 
#If you do not specify the following directive the app *will* work but you will 
#see index.py in the path of all URLs 
WSGIScriptAlias//home/yourusername/webapps/yourapp/htdocs/index.py 

<Directory /home/yourusername/webapps/yourapp/htdocs/> 
    AddHandler wsgi-script .py 
    RewriteEngine on 
    RewriteBase/
    WSGIScriptReloading On 
</Directory> 

、私はindex.pyの隣に同じhtdocsディレクトリにmyapp.pyあります

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    return 'Hello World!' 

if __name__ == '__main__': 
    app.run() 

私は自分のドメインをWebFactionで自分のプロジェクトに指摘しています。指示に書かれているように、デフォルトのindex.pyは私が新しいものを上書きする前に働いていました。しかし、私はサーバー500を手に入れるだけです。私はお詫びしますが、Linuxと管理サーバーに関しては完全なnoobです。ユーザーの下にあるエラーログにアクセスすることさえできません。なぜなら、私は許可を得ていないと言います。

私はそれがLinuxサーバー上のフラスコのインストールに関係していると思います。簡単なインストールでそれをインストールしました。すべての依存関係がインストールされ、エラーは発生しませんでした。

+1

を発行することにより、Apacheサーバを再起動して試してみました組み込みインタプリタの代わりにmod_wsgiのデーモンモードを使用することを検討してください。また、あなたのpythonコードを文書のルートの中に置く理由もありません。 – ThiefMaster

+0

ありがとう、私はmod_wsgiのデーモンモードを研究します。また、Pythonコードをドキュメントルートから移動します。 –

答えて

1

提案のカップル:どこでもあなたが持っているyourappname

  1. はあなたindex.pyにmyappのを持っていないでしょうか?
  2. また、私はあなたが `に適切な置換を行ったと仮定していますWSGIPythonPath/homeは/あなたのユーザ名/ webappsに/ yourapp/htdocsに
  3. はあなたが本当にあなたがすべき~/webapps/<app_name>/apache2/bin/restart
関連する問題