Cómo alojar su sitio web Python de forma gratuita en Heroku

Así que acaba de completar un sitio web de cartera simple con Python y desea instalarlo utilizando un alojamiento gratuito. Has oído hablar del alojamiento gratuito de Heroku, pero no entiendes del todo los aspectos técnicos involucrados.

Esta guía le ayudará a trabajar en todo el proceso de alojamiento de su sitio web Python de forma gratuita en Heroku, de una forma mucho más sencilla. Suponemos que tiene un conocimiento básico de Python y al menos uno de sus marcos, preferiblemente Django.

Heroku es un proveedor de alojamiento web de plataforma como servicio (PaaS) que ejecuta su infraestructura en algo que llama Dynos. Lo mantiene enfocado en la implementación, mientras se ocupa de la dificultad de mantener y construir su infraestructura web.

En caso de que no pueda pagar el alojamiento de pago, pero desee poner una cartera en línea rápidamente, es posible que desee considerar alojarlo en Heroku. Además de ser gratuito, es bastante rápido instalar su sitio web en Heroku.

Por supuesto, existen otras plataformas en las que puede alojar su sitio web de Python de forma gratuita, como Amazon Web Services y PythonAnywhere. Pero el proceso de hospedaje en Heroku es fácil, especialmente para personas sin conocimiento previo de implementación.

Cuando aloja un sitio web de forma gratuita en Heroku, no es necesario que tenga un nombre de dominio. Todo lo que necesita es especificar el nombre de su aplicación en la plataforma de alojamiento. Luego, Heroku crea un localizador app.herokuapp.com para ti. Cuando está en este servicio gratuito, su sitio se ejecuta en Heroku Dynos.

Si luego decide escalar y obtener un nombre de dominio, es igualmente fácil y rápido, pero debe pagar por ello. El costo abrumador de mantener la actualización puede hacer que lo reconsidere, pero vale la pena el dinero si está decidido a invertir más en el proyecto.

Examinemos ahora cómo alojar su sitio web Python de forma gratuita en Heroku. Tenga en cuenta que esto se basa en la versión 3.7 de Python y la versión 2.1.7 de Django.

Para comenzar, descargue Git del sitio web git-scm . Aquí se explican los diversos comandos y giros para instalar Git en todos los sistemas operativos.

Después de instalar Git, también debe configurar una cuenta con Heroku en la página de registro de Heroku si aún no tiene una.

A continuación, descargue e instale la CLI de Heroku desde el sitio web de Heroku. La CLI de Heroku le permite comunicarse con su repositorio cada vez que necesite realizar cambios en su aplicación.

Si aún no está familiarizado con los comandos de Git, debería echar un vistazo a nuestra introducción al control de versiones con Git .

Si no tiene un proyecto de Django configurado y quiere probarlo con este tutorial, abra la línea de comandos y cree un entorno virtual si aún no tiene uno. Una vez que el entorno virtual esté listo, use este comando para instalar el marco de Django:

Después de instalar Django en el entorno virtual, ejecute el siguiente comando para iniciar un nuevo proyecto de Django:

A continuación, cree una nueva aplicación de Python. Para hacer eso, migre a la carpeta raíz de su proyecto en la CMD y ejecute:

Recuerde reemplazar project_name y app_name con sus nombres preferidos.

Necesita el módulo gunicorn para esto, por lo que también debe ejecutar pip install gunicorn . Luego agregue gunicorn a la lista de aplicaciones instaladas en settings.py , como se muestra a continuación:

Esta es solo una introducción superficial a la creación de una aplicación Django. Sin embargo, ya sea que su aplicación esté lista o que esté creando una, asegúrese de que su ejecución python manage.py migre para crear su base de datos.

Ahora debería tener una aplicación Python ejecutándose dentro de su marco de Django. Ahora nos sumergiremos en nuestro objetivo principal.

Para tener una implementación exitosa de su aplicación en Heroku, debe configurar un archivo requirements.txt . Para configurarlo, ejecute lo siguiente en su CMD:

Esa línea crea un archivo .txt que contiene todos los paquetes utilizados para servir su proyecto. Heroku examina ese archivo durante la implementación e instala esos paquetes automáticamente.

Otro archivo importante que debe especificar es Procfile . Esto le dice a Heroku los comandos que deben ejecutarse en la inicialización de la aplicación. Sin embargo, debe crear este archivo creando explícitamente un nuevo archivo de texto llamado Procfile en la raíz de su proyecto. Asegúrese de que este archivo no tenga una extensión de archivo; de lo contrario, no funcionará.

Para eliminar la extensión del archivo de Procfile en Windows, abra la carpeta en el Explorador de archivos, haga clic en Ver en la barra de herramientas superior y marque la casilla Extensiones de nombre de archivo . Luego verá las extensiones para todos los archivos, incluida la extensión .txt para Procfile . Haga clic con el botón derecho en Procfile y elija Cambiar nombre , luego simplemente elimine la extensión .txt y presione Enter .

A continuación, abra Procfile y agregue la siguiente línea, reemplazando project_name con el nombre que se aplica a su proyecto:

Opcionalmente, también puede crear un archivo runtime.txt . Abra el archivo y especifique la versión de Python de la siguiente manera:

Así es como le dices a Heroku la versión de Python en la que se ejecuta tu aplicación. Si no especifica este archivo, Heroku solo usa la última versión de Python por defecto.

A continuación, en el símbolo del sistema, inicie sesión en su cuenta de Heroku ejecutando este comando:

Ese comando abre su navegador predeterminado a la página de inicio de sesión de Heroku, donde puede proporcionar sus credenciales de inicio de sesión.

Para crear una aplicación en Heroku, escriba la siguiente línea:

Reemplace ademosapp2 con el nombre de su aplicación preferida. Si el nombre de la aplicación que seleccionó está en uso, verá un mensaje que le pedirá que elija un nuevo nombre.

En la página de inicio de sesión, haga clic en el logotipo de Heroku para iniciar sesión en su panel de control de Heroku. Ahora debería ver la aplicación que acaba de crear.

A continuación, abra su editor de texto preferido en la ubicación de su proyecto y acceda al archivo settings.py de su proyecto. En el archivo settings.py , cambie el Host permitido a [*] — esto hace que su aplicación sea accesible para cualquier host global.

Ahora vaya a su panel de Heroku y haga clic en la aplicación recién creada, seguida de la configuración . En la configuración, desplácese hacia abajo y haga clic en Agregar paquete de compilación . Luego, seleccione Python como su paquete de compilación y haga clic en Guardar cambios .

Luego, regrese a su CMD y ejecute el siguiente código para instalar Heroku en su proyecto:

Ahora, agregue el paquete recién instalado al archivo requirements.txt ejecutando:

Luego, abra el archivo settings.py de su proyecto y escriba:

Además, en la última línea de settings.py , active django-heroku agregando:

Una vez hecho esto, inicie un repositorio remoto escribiendo lo siguiente en su línea de comando:

A continuación, cree un repositorio de aplicaciones Heroku ejecutando:

Para verificar los archivos que deben confirmarse, ejecute:

A continuación, escriba el siguiente comando para agregar todos los cambios a su repositorio:

Una vez que se agregan los cambios, confirme sus cambios en Heroku ejecutando el comando:

Tenga en cuenta que "initial-commit" puede usar cualquier nombre que desee.

A continuación, debe deshabilitar collectstatic mediante lo siguiente:

De lo contrario, podría tener problemas durante el proceso de implementación.

Para finalmente enviar sus archivos a su repositorio de Heroku, use el comando:

Esto envía todos sus archivos a Heroku y hace que la aplicación sea accesible desde cualquier lugar. Para ver su aplicación recién implementada, vaya a https://app_name.herokuapp.com en su navegador, reemplazando app_name con el nombre de su aplicación.

Puede alojar una variedad de compilaciones de aplicaciones en Heroku; los mismos procesos de Git que cubrimos aquí funcionan para otros lenguajes además de Python. Solo necesita hacer pequeños cambios, como restablecer su paquete de compilación.

Aunque Heroku le ofrece alojamiento gratuito, todos sabemos que el contenido gratuito tiene algunas limitaciones. Sin embargo, si no espera que su sitio web reciba mucho tráfico, el alojamiento gratuito de Heroku podría ser una buena opción.