11

Webfactionに単純なFlaskアプリケーションをデプロイする方法を知っている人はいますか?Webfactionがmod_wsgiをサポートしていることを知っており、Flaskサイトのガイドを読みましたが、それでもアプリを機能させることができません。誰かが動作する構成を持っていますか?

グラハム・ダンプルトンのコメントに答えるために更新してください。

500内部サーバーエラーが発生します。Apacheはログにエラーを表示しません。WSGIスクリプトが実行され、アプリケーションが正しく作成されているようですが、500エラーが発生し続けます。

ありがとう。

4

2 に答える 2

16

私はそれを次の手順で動作させました:

  • タイプmod_wsgi3.3/Python2.7の「myapp」という名前のアプリを作成します。Webfactionは、次のフォルダーを作成します。

    myapp
         |- apache2
         |- htdocs
    
  • index.pyWebfactionは、ディレクトリに簡単なスクリプトも自動的に作成しますhtdocs。新しく作成したアプリケーションのルートにアクセスしてサンプルスクリプトが機能するかどうかを確認します(Webfactionでシンを実行するには、アプリをWebサイトに「マウント」する必要があります)。すべて問題がない場合は、スクリプトを変更してコンテンツを削除し、次を追加します。

    from myapp import app as application
    
  • apache2/conf/httpd.confの行を追加します。

    WSGIPythonPath /home/username/webapps/myapp/htdocs/
    #If you do not specify the next directive the app *will* work but you will
    #see index.py in the path of all subdir
    WSGIScriptAlias / /home/username/webapps/myapp/htdocs/index.py
    
    
    <Directory /home/username/webapps/myapp/htdocs>
        AddHandler wsgi-script .py
        RewriteEngine on
        RewriteBase /
        WSGIScriptReloading On
    </Directory>
    
  • apache2を再起動します

于 2011-06-07T11:36:52.003 に答える
1

「カスタムアプリ(ポートでリッスン)」アプリケーションを設定する必要があります。割り当てられているポートをメモします。次に、Flaskコードに、ポートをハードコードする必要があります。

if __name__ == __main__:
    app.run(host='0.0.0.0' port=XXXXXXX)

XXXXXXXを、カスタムアプリにランダムに割り当てられたポートに置き換えます。

お役に立てば幸いです。

編集:

Rabenの回答を使用してください。この方法は本番環境では使用しないでください。

于 2010-10-26T15:02:40.543 に答える