2016-04-24 17 views
0

私はuwsgi + pypy +フラスコでウェブサイトを展開しようとしていました。以下のようにuwsgiエラーメッセージで失敗しました:uwsgi + pypy "no app loaded"エラー

*** no app loaded. GAME OVER *** 

私の環境とスクリプトは、次のとおりです。

$ uname -a 
Linux xxxxx 3.13.0-32-generiC#57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux 

$ pypy --version 
Python 2.7.10 (3360adbeba4a, Apr 19 2016, 13:27:10) 
[PyPy 5.1.0 with GCC 4.6.3] 

$ uwsgi --version 
1.9.17.1-debian 

Note: the uwsgi is installed with pip in pypy virtualenv 

flasktest.py:

from flask import Flask 

application = Flask(__name__) 

@application.route("/") 
def hello(): 
    return "Hello!" 

コマンドは、Webサイトを実行する

$ uwsgi --chmod-socket=777 \ 
--chdir /path/mysite --pypy-wsgi flasktest \ 
--master --socket 127.0.0.1:8000 --need-app 

誰でも私は間違っていましたか?

答えて

0

http://flask.pocoo.org/docs/0.10/deploying/uwsgi/

任意のapp.runは()あなたが アプリケーション・ファイルであれば名前 ==「メイン」の内側にあるかもしれません呼び出すことを事前に確認してください:ブロック か別のファイルに移動しました。 このアプリケーションをuWSGIにデプロイする場合、これは常に望ましくないローカルWSGIサーバーを開始するため、呼び出されていないことを確認してください。

uwsgi

uwsgiはPythonモジュールで見つかったWSGIの呼び出し可能に動作するように設計されてあなたのアプリを起動します。 myapp.pyでフラスコのアプリケーションを考えると

、次のコマンドを使用します。

あなたが好む場合
$ uwsgi -s /tmp/uwsgi.sock --module myapp --callable app 

または、:

$ uwsgi -s /tmp/uwsgi.sock -w myapp:app 

例:用

from flask import Flask 
application = Flask(__name__) 

@application.route("/") 
def hello(): 
    return "<h1 style='color:blue'>Hello There!</h1>" 

if __name__ == "__main__": 
    application.run(host='0.0.0.0') 
+0

感謝をまだ返答していません。私はpypyを使用しているので、引数 '-w'は '--pypy-wsgi'を意味しますか? – tantrumiok