我正试图在Gunicorn服务器上引导一个Flask应用程序。通过把这两个工具的文档放在一起,再在上面搜索,这就是我到目前为止.但效果不太好。
app.py
from flask import Flask, render_template
from flask.ext.sqlalchemy import SQLAlchemy
from werkzeug.contrib.fixers import ProxyFix
app = Flask(__name__)
app.wsgi_app = ProxyFix(app.wsgi_app)
db = SQLAlchemy(app)
@app.route('/')
def index():
return render_template('index.html')我运行的
来自与app.py相同的目录,
gunicorn app:app即使开始这么小,我也错过了一些东西。错误消息没有多大帮助:
2013-09-12 20:13:07 11461启动 2013-09-12 20:13:07 11461收听:
http://127.0.0.1:8000(11461) 2013-09-12 20:13:07 11461使用工人:同步 2013-09-12 20:13:13:07 11528启动工人pid: 11528 2013年-09-12 20:13:07 11528工人退出(pid: 11528) 2013-09-12 20:13:08 11461关机:师父 2013-09-12 20:13:08 11461原因:工人开机失败.
顺便说一下,我正在Debian系统上运行这个程序。非常感谢您的帮助!
更新
在启动调试之后,我得到了一些更有指导意义的错误消息。这已经很快成为一个非常具体的问题:ImportError: No module named flask。通常,当我没有使用我的虚拟主机时,我会遇到这样的错误--但是我是。仔细观察一下,Gunicorn似乎使用了不同于我的虚拟版本的Python版本,即Python3。所以..。我特别喜欢的蟒蛇似乎没有被使用。我如何解决这个问题,并告诉Gunicorn使用正确的Python?
发布于 2013-10-19 23:46:07
我和你有同样的问题。问题是,由于某种原因,gunicorn在虚拟env之外加载环境。我的解决办法是在虚拟环境之外卸载这个包;
(env) $ deactivate
$ sudo pip uninstall gunicorn所以你回到你的副官,试着逃跑。在我的例子中,我输入了env文件夹:
$ source env/bin/activate
(env) $ pip install gunicorn
(env) $ gunicorn server:app
2013-10-19 20:40:56 [11923] [INFO] Starting gunicorn 18.0
2013-10-19 20:40:56 [11923] [INFO] Listening at: http://127.0.0.1:8000 (11923)
2013-10-19 20:40:56 [11923] [INFO] Using worker: sync
2013-10-19 20:40:56 [11926] [INFO] Booting worker with pid: 11926https://stackoverflow.com/questions/18776745
复制相似问题