2011-06-13 23 views

Respuesta

29

There are several ways to deploy a Flask project. Desplegar con gunicorn podría ser el más fácil, instale gunicorn y luego:

gunicorn project:app --daemon 

Aunque es probable que desee utilizar supervisor o algo por el estilo para controlar gunicorn (por lo menos usar --pid para que pueda recargar/parada gunicorn facilidad)

2

Si tiene instalado el supervisor ya, creo gunicorn sería un poco redundante. El siguiente es un archivo flask.ini que puede soltarse en /etc/supervisord.d/ (luego, "supervisorctl reload" para volver a cargar la configuración e iniciar el proceso).

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

Tenga en cuenta que con esta configuración está ejecutando el servidor integrado Flask, que no se escala correctamente. –

0

Si desea supervisar y mantenerlo mantenga al reiniciar, se puede usar immortal

Se le podría llamar así:

inmortal -l/var/log/tu- proyecto de aplicación gunicorn: app

O vía run.yml, por ejemplo:

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 

Más información sobre inmortal: https://immortal.run/about/

Cuestiones relacionadas