我试图用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
任何人都知道我做错了哪一部分?
答案 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')