uwsgi + pypy"没有app加载"错误

时间:2016-04-24 02:44:47

标签: python ubuntu flask uwsgi pypy

我试图用uwsgi + pypy + flask部署网站。失败的uwsgi错误消息如下:

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

任何人都知道我做错了哪一部分?

1 个答案:

答案 0 :(得分:0)

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

  

请事先确认您可能拥有的任何app.run()电话   您的应用程序文件位于if 名称 ==' main ':块中   或移动到单独的文件。只是确保它没有被调用,因为   这将始终启动我们不想要的本地WSGI服务器   将该应用程序部署到uWSGI。

使用uwsgi启动应用

uwsgi旨在对python模块中的WSGI callables进行操作。

在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')