Despliegue en producción

Después de desarrollar tu aplicación, querrás hacerla disponible públicamente para otros usuarios. Cuando estás desarrollando localmente, probablemente estés usando el servidor de desarrollo, el depurador y el recargador incorporados. Estos no deben ser utilizados en producción. En su lugar, deberías utilizar un servidor WSGI dedicado o una plataforma de alojamiento, algunos de los cuales se describirán aquí.

«Producción» significa «no desarrollo», lo que se aplica tanto si estás sirviendo tu aplicación de forma pública a millones de usuarios como de forma privada / local a un solo usuario. No utilice el servidor de desarrollo cuando se despliega a la producción. Está destinado a ser utilizado sólo durante el desarrollo local. No está diseñado para ser particularmente seguro, estable o eficiente.

Opciones de autoalojamiento

Flask es una aplicación WSGI. Se utiliza un servidor WSGI para ejecutar la aplicación, convirtiendo las peticiones HTTP entrantes en el entorno WSGI estándar, y convirtiendo las respuestas WSGI salientes en respuestas HTTP.

El objetivo principal de estos documentos es familiarizarte con los conceptos involucrados en la ejecución de una aplicación WSGI utilizando un servidor WSGI de producción y un servidor HTTP. Hay muchos servidores WSGI y servidores HTTP, con muchas posibilidades de configuración. Las páginas siguientes discuten los servidores más comunes, y muestran los fundamentos de la ejecución de cada uno. La siguiente sección discute las plataformas que pueden gestionar esto por ti.

Los servidores WSGI tienen servidores HTTP incorporados. Sin embargo, un servidor HTTP dedicado puede ser más seguro, más eficiente o más capaz. Poner un servidor HTTP delante del servidor WSGI se llama «proxy inverso».

Esta lista no es exhaustiva, y debe evaluar estos y otros servidores en función de las necesidades de su aplicación. Los diferentes servidores tendrán diferentes capacidades, configuración y soporte.

Plataformas de alojamiento

Hay muchos servicios disponibles para alojar aplicaciones web sin necesidad de mantener tu propio servidor, red, dominio, etc. Algunos servicios pueden tener un nivel gratuito hasta un determinado tiempo o ancho de banda. Muchos de estos servicios utilizan uno de los servidores WSGI descritos anteriormente, o una interfaz similar. Los enlaces de abajo son para algunas de las plataformas más comunes, que tienen instrucciones para Flask, WSGI, o Python.

Esta lista no es exhaustiva y debe evaluar estos y otros servicios en función de las necesidades de su aplicación. Los diferentes servicios tendrán diferentes capacidades, configuraciones, precios y soporte.

Probablemente necesitará Dile a Flask que está detrás de un proxy cuando utilice la mayoría de las plataformas de alojamiento.