2011-06-13 6 views

Répondre

29

There are several ways to deploy a Flask project. Déploiement avec gunicorn pourrait être le plus facile, installez gunicorn puis:

gunicorn project:app --daemon 

Bien que vous voulez probablement utiliser superviseur ou quelque chose de cette nature pour surveiller gunicorn (à tout le moins utiliser --pid de sorte que vous pouvez recharger/arrêter gunicorn facilement).

2

Si vous avez déjà installé le superviseur, je pense que gunicorn serait un peu redondant. Ce qui suit est un fichier flask.ini qui peut être déposé dans /etc/supervisord.d/ (ensuite "supervisorctl reload" pour recharger la configuration et démarrer le processus).

command=/opt/flask/env0/bin/python /opt/flask/developer/FlaskWebServer.py 
directory=/opt/flask 
redirect_stderr=true 
startsecs=5 
autorestart=true 
stdout_logfile=/opt/flask/flask.stdout.log 
+0

Notez qu'avec cette configuration, vous utilisez le serveur intégré Flask, qui ne s'évalue pas correctement. –

0

Si vous souhaitez surveiller et maintenir persistant à travers les redémarrages, vous pouvez utiliser immortal

Vous pouvez l'appeler comme ceci:

immortel -l/var/log/votre- app projet gunicorn: app

Ou par run.yml, par exemple:

cmd: gunicorn project:app 
cwd: /path/of/project 
env: 
    DEBUG: 1 
    ENVIRONMENT: production 
log: 
    file: /var/log/app.log 
    age: 86400 # seconds 
    num: 7  # int 
    size: 1 # MegaBytes 
    timestamp: true # will add timesamp to log 
stderr: 
    file: /var/log/app-error.log 
    age: 86400 # seconds 
    num: 7  # int 
    size: 1 # MegaBytes 
    timestamp: true # will add timesamp to log 
user: www 

En savoir plus sur immortal: https://immortal.run/about/

Questions connexes