2016-04-24 55 views
0

我試圖用uwsgi + pypy + flask來部署網站。有如下uwsgi錯誤信息失敗:uwsgi + pypy「沒有應用程序加載」錯誤

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

的命令來運行網站

$ 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()調用你可能在你的 應用程序文件都在裏面了,如果 ==「主要」:塊 或轉移到一個單獨的文件。只要確保它沒有被調用,因爲 這將始終啓動本地WSGI服務器,我們不希望如果我們 將該應用程序部署到uWSGI。

啓動您的應用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

相關問題