Gunicorn avec Flacon à l'aide de faux Python
Je suis en train de démarrer un Flacon application sur un Gunicorn serveur. En mettant les deux outils " les docs de l'ensemble, en plus de la recherche autour de sur DONC, c'est ce que j'ai jusqu'à présent... mais c'est pas assez de travail.
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')
ce que j'ai couru:
Dans le même répertoire app.py,
gunicorn app:app
Même de commencer cette petite, j'ai raté quelque chose. Le message d'erreur n'est pas très utile:
2013-09-12 20:13:07 [11461] [INFO] à Partir de gunicorn 0.14.5
2013-09-12 20:13:07 [11461] [INFO] l'Écoute au:http://127.0.0.1:8000
(la 11461)
2013-09-12 20:13:07 [11461] [INFO] à l'Aide de travailleur: synchronisation
2013-09-12 20:13:07 [11528] [INFO] le Démarrage d'un travailleur pid: 11528
2013-09-12 20:13:07 [11528] [INFO] Travailleur sortant (pid: 11528)
2013-09-12 20:13:08 [11461] [INFO] l'Arrêt: Master
2013-09-12 20:13:08 [11461] [INFO] Raison: Travailleur manqué de démarrage.
En passant, je suis en cours d'exécution sur une Debian Linux système. Merci beaucoup d'avance pour votre aide!
Mise à jour
Après la mise sur le débogage, j'ai eu de plus instructif des messages d'erreur. C'est devenu un problème très concret, très rapide: ImportError: No module named flask
. Habituellement, je reçois ce type de message d'erreur quand je ne suis pas à l'aide de mon virtualenv, mais je suis. Et en regardant de plus près, Gunicorn semble être l'utilisation d'une autre version de Python que mon virtualenv utilise, c'est-à Python3. Alors... mon python ne semble pas être utilisés. Comment puis-je résoudre ce problème, et dire Gunicorn à utiliser le droit de Python?
- Comment avez-vous installer gunicorn?
sudo apt-get install gunicorn
, si je me souviens bien.- Ah, pouvez-vous essayer de l'installer dans votre virtualenv? C'est probablement le chargement gunicorn à partir du chemin d'accès système. Juste
pip install gunicorn
. - Bien sûr, je vais essayer ça. Se tenir.
Vous devez vous connecter pour publier un commentaire.
La gunicorn utilitaire peut être en cours d'exécution hors du système, plutôt que de les votre virtualenv.
Assurez-vous de
pip install gunicorn
dans le virtualenv.Voici le pip en gel d'un virtualenv je l'ai configuré pour exécuter votre application:
En réalité, je n'ai couru ces
pip install
s:apt-get remove
d gunicorn à l'échelle mondiale,pip install
ed dans mon virtualenv, redémarré le virtualenv, et cela a fonctionné comme un charme. Merci beaucoup.J'ai le même problème que Vous.
Le problème est que gunicorn pour une raison quelconque charge de l'environnement à l'extérieur de votre virtuel env. J'ai résolu en désinstallant le paquet gunicorn à l'extérieur virtuelle de l'environnement;
De sorte que vous revenir à vos env et essayez de les exécuter. Dans mon cas, env dossier j'ai tapé:
Gunicorn peut être installé à plusieurs endroit dans votre système. Il peut être présent dans
Par défaut lorsque vous spécifiez
Vous referrng de système d'exploitation par défaut de Python où dans le même chemin flacon package n'est pas installé résultats dans l'erreur.
Mieux spécifier les gunicorn, vous êtes relatives à la en fournissant chemin gunicorn