La aplicación terminal Web te da acceso a línea de comandos en el contenedor en el que se ejecuta el proceso web de tu aplicación. Puedes utilizar el terminal web para ejecutar scripts y leer archivos. Esto es útil para depurar problemas, controlar el rendimiento o ejecutar manualmente scripts ad-hoc.

Para acceder al terminal web, necesitarás

  • Tener al menos un despliegue satisfactorio de la aplicación.
  • Tener una aplicación en funcionamiento. Si se produce algún error o se detiene la aplicación, el terminal web no estará disponible.
  • Añadir al menos una dirección IP válida a la lista de permitidas.

Actualmente, el único proceso al que puedes acceder a través del terminal web es el proceso web. Los procesos en segundo plano o los cron jobs no están disponibles en el terminal web.

Terminal Web con un Dockerfile

Si tu aplicación se crea con un Dockerfile, asegúrate de que Bash está instalado en el contenedor. En la mayoría de los casos, la imagen base (por ejemplo, Ubuntu) incluye un paquete shell y funcionará por defecto. En algunos contenedores más optimizados, puede que el paquete shell no esté incluido, y tendrás que añadirlo. La imagen base determina cómo añadir el paquete shell:

  • Alpine: apk add bash
  • Ubuntu/Debian: apt install bash
  • Fedora: dnf install bash

Configurar la Autenticación

Las direcciones IP añadidas a la lista permitida deben ser únicas. Si intentas añadir una dirección IP que ya está en la lista permitida, recibirás un error y no podrás añadir la dirección IP duplicada.

Añadir Dirección IP

La primera vez que vayas a la página del terminal Web para tu aplicación en MyKinsta, haz clic en Configurar autenticación para añadir direcciones IP a la lista de permitidas. Para ver la dirección desde la que te estás conectando, utiliza una herramienta como Test your IPv6.

Introduce la primera dirección IP que quieras permitir. Para añadir más direcciones IP, haz clic en Añadir otra. Cuando hayas introducido todas las direcciones IP que quieras permitir, haz clic en Configurar autenticación.

Añade direcciones IP a la lista de IP permitidas para configurar la autenticación del terminal web.
Añade direcciones IP a la lista de IP permitidas para configurar la autenticación del terminal web.

Si necesitas añadir más direcciones IP en el futuro, haz clic en Añadir dirección IP en la sección Lista permitida de la página Terminal web.

Eliminar una Dirección IP

Para eliminar una dirección IP de la lista permitida, haz clic en el icono Eliminar (papelera) situado junto a la dirección IP que deseas eliminar y haz clic en Eliminar dirección IP para confirmar la eliminación.

Iniciar y Abrir el Terminal Web

Para abrir el terminal web, primero tienes que conectarte a él, lo que despliega un pod de terminal web. Haz clic en Iniciar terminal web para comenzar a abrir la conexión. Mientras se abre la conexión, las opciones de la página Terminal web estarán desactivadas.

Las opciones de la página Terminal web estarán desactivadas mientras se esté abriendo la conexión del terminal web.
Las opciones de la página Terminal web estarán desactivadas mientras se esté abriendo la conexión del terminal web.

Una vez finalizado el despliegue del pod de terminal web, Terminal web se está ejecutando aparece sobre la lista de permitidos. Haz clic en Abrir terminal web para abrir el terminal web en una nueva pestaña de tu navegador.

Abre el terminal web.
Abre el terminal web.

Puede que veas una página Iniciando terminal web mientras se carga el terminal. Una vez cargado el terminal, puedes ejecutar comandos como en un terminal normal. Los comandos disponibles dependerán de los ejecutables presentes en tu aplicación.

Nombre de Usuario del Terminal

Si tu aplicación se creó con un Nixpack (Utiliza Nixpacks para configurar la imagen del contenedor en el paso Construir entorno), el nombre de usuario en el terminal normalmente será «root». Kinsta ofrece Nixpacks, un proyecto de código abierto mantenido por Railway, como una de las opciones para determinar automáticamente el lenguaje y crear un contenedor para tu aplicación basándose en tu repositorio.

Si tu aplicación se creó con un Buildpack (Utiliza Buildpacks para configurar la imagen del contenedor en el paso Construir entorno), el nombre de usuario en el terminal puede ser «heroku». Kinsta ofrece Buildpacks, un proyecto de código abierto mantenido por Heroku, como una de las opciones para determinar automáticamente el lenguaje y crear un contenedor para tu aplicación basándose en tu repositorio. Esto se puede trasladar al terminal web.

Si tu aplicación se creó con un Dockerfile (Utiliza Dockerfile para configurar la imagen del contenedor en el paso Construir entorno), el nombre de usuario en el terminal será normalmente «root», pero depende de cómo esté configurado tu Dockerfile.

Detener y Cerrar el Terminal Web

Cuando hayas terminado de trabajar en el terminal, cierra la pestaña de tu navegador para cerrar la conexión con el terminal web. Actualmente, cerrar la pestaña no detiene el terminal, pero si quieres volver a abrirlo, tendrás que hacer clic en Abrir terminal web, esperar unos 30 segundos y actualizar la nueva pestaña para volver a ver el terminal.

Para detener el terminal web, haz clic en Detener terminal web.

Mientras el terminal esté en funcionamiento, no podrás editar la lista de IP permitidas. Si necesitas editarla, detén el terminal, realiza los cambios en la lista permitida y vuelve a abrir el terminal.

Si se crea la conexión de terminal web pero no se abre, la conexión se cerrará automáticamente al cabo de 24 horas.

Directorios Binarios de Nixpacks

Con Nixpacks, los directorios binarios pueden diferir de los directorios binarios predeterminados para el idioma de la aplicación. La siguiente tabla muestra los directorios binarios utilizados para algunos de los lenguajes más comunes:

Lenguaje Directorio
Node.js /nix/var/nix/profiles/default/bin/node
Ruby /nix/var/nix/profiles/default/bin/ruby
Python /nix/var/nix/profiles/default/bin/python
Java /nix/var/nix/profiles/default/bin/java
Scala Scala no tiene una ruta binaria específica por defecto como otros lenguajes compilados. Cuando compilas un programa Scala, genera bytecode que se ejecuta en la Máquina Virtual Java (JVM, Java Virtual Machine).

Las clases Scala compiladas suelen almacenarse en una estructura de directorios que refleja la estructura de paquetes de tu código. Esto es similar a cómo se organizan las clases Java. Por defecto, cuando compilas un archivo fuente Scala, los archivos .class compilados se colocarán en el mismo directorio que el código fuente (dentro de una estructura de subdirectorios basada en las declaraciones de paquete).

Si es necesario, puedes instalar las herramientas de tiempo de ejecución de Scala utilizando un Dockerfile en lugar de utilizar un Nixpack.

PHP /nix/var/nix/profiles/default/bin/php
Go Go no tiene una ruta binaria específica por defecto como otros lenguajes compilados. Cuando compilas un programa Go, el ejecutable binario resultante suele colocarse por defecto en el mismo directorio que tu código fuente.

Si es necesario, puedes instalar las herramientas de ejecución de Go utilizando un archivo Dockerfile en lugar de utilizar un Nixpack.

Directorios binarios de Buildpack

Cuando añades una aplicación en MyKinsta usando Buildpacks, los directorios binarios pueden diferir de los directorios binarios por defecto para el lenguaje de la aplicación. La siguiente tabla muestra los directorios binarios utilizados para cada lenguaje buildpack:

Lenguaje Directorio
Node.js /layers/heroku_nodejs-engine/dist/bin/node
Ruby /usr/bin/ruby
Python /usr/bin/python
Java /layers/heroku_jvm/openjdk/bin/java
Scala Scala no tiene una ruta binaria específica por defecto como otros lenguajes compilados. Cuando compilas un programa Scala, genera bytecode que se ejecuta en la máquina virtual Java (JVM).

Las clases Scala compiladas se almacenan normalmente en una estructura de directorios que refleja la estructura de paquetes de tu código. Esto es similar a cómo se organizan las clases Java. Por defecto, cuando compilas un archivo fuente Scala, los archivos .class compilados se colocarán en el mismo directorio que el código fuente (dentro de una estructura de subdirectorios basada en las declaraciones de paquete).

Si es necesario, puedes instalar las herramientas de ejecución de Scala utilizando un Dockerfile en lugar de un buildpack.

PHP /workspace/.heroku/php/bin/
Go Go no tiene una ruta binaria específica por defecto como otros lenguajes compilados. Cuando compilas un programa Go, el ejecutable binario resultante se coloca por defecto en el mismo directorio que tu código fuente.

Si es necesario, puedes instalar las herramientas de ejecución de Go utilizando un Dockerfile en lugar de un buildpack.

Solución de Problemas

  • Al abrir el terminal web, si ves una página Error 1016 – Origin DNS en lugar de la pantalla del terminal, se debe a un ligero retraso en la propagación del DNS. Espera 1 minuto y actualiza la página hasta que veas la pantalla del terminal. Si el problema persiste más allá de unos minutos, ponte en contacto con nuestro equipo de Soporte.
  • Si ves un error 403: Forbidden al abrir el terminal web, significa que tu dirección IP no está en la lista de permitidas. Detén el terminal web, añade tu dirección IP y vuelve a iniciarlo.
  • Un error similar al siguiente ERRO[0000] exec failed indica que al contenedor le falta el paquete shell. Tendrás que añadir ese paquete a tu contenedor para poder ejecutar el terminal web.

    ERRO[0000] exec failed: container_linux.go:425: starting container process caused: exec: «bash»: archivo ejecutable no encontrado en $PATH
    comando finalizado con código de salida 1

Documentación Relacionada