2016-04-24 7 views
0

Ich habe versucht, Website mit uwsgi + Pypy + Kolben bereitzustellen. Fehlgeschlagen mit uwsgi Fehlermeldung wie folgt:uwsgi + pypy "keine App geladen" Fehler

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

Meine Umwelt und Skripte sind:

$ 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!" 

Der Befehl Website laufen

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

Wer weiß das? In welchem ​​Teil habe ich falsch gemacht?

Antwort

0

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

Bitte stellen Sie sicher, im Voraus, dass jede app.run() ruft Sie in Ihre Anwendungsdatei sind innerhalb einer if Name == 'Haupt' haben könnte: Block oder in eine separate Datei verschoben. Stellen Sie nur sicher, dass es nicht aufgerufen wird, weil dies immer einen lokalen WSGI-Server starten wird, den wir nicht wollen, wenn wir diese Anwendung auf uWSGI bereitstellen.

Starten Sie Ihre App mit uwsgi

uwsgi ausgelegt auf WSGI Callables in Python-Modulen gefunden zu betreiben.

eine Flasche Anwendung in myapp.py gegeben, verwenden Sie den folgenden Befehl ein:

$ uwsgi -s /tmp/uwsgi.sock --module myapp --callable app 

Oder, wenn Sie bevorzugen:

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

das Beispiel:

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

Vielen Dank für die antworte aber immer noch nicht. Da ich Pypy benutze, meinen Sie das Argument "-w" mit "--pypy-wsgi", oder? – tantrumiok