Applikationens webterminal giver dig kommandolinjeadgang til den container, som din applikations webproces kører i. Du kan bruge webterminalen til at køre scripts og læse filer. Det er nyttigt til fejlfinding af problemer, overvågning af ydeevne eller manuel udførelse af ad hoc-scripts.

For at få adgang til webterminalen skal du:

  • Have mindst én vellykket udrulning af applikationen.
  • Have en sund applikation, der kører. Hvis der er fejl, eller applikationen er stoppet, vil webterminalen ikke være tilgængelig.
  • Tilføje mindst én gyldig IP-adresse til tilladelseslisten.

I øjeblikket er den eneste proces, du kan tilgå via webterminalen, webprocessen. Baggrundsprocesser eller cron-jobs er ikke tilgængelige i webterminalen.

Webterminal med en Dockerfil

Hvis din applikation er oprettet med en Dockerfil, skal du sørge for, at Bash er installeret i containeren. I de fleste tilfælde indeholder base-imaget (f.eks. Ubuntu) en shell-pakke og vil fungere som standard. I nogle mere strømlinede containere er shell-pakken muligvis ikke inkluderet, og du bliver nødt til at tilføje den. Base-imaget bestemmer, hvordan shell-pakken skal tilføjes:

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

Opsætning af autentificering

IP-adresser, der tilføjes til tilladelseslisten, skal være unikke. Hvis du forsøger at tilføje en IP-adresse, der allerede er på listen, får du en fejlmeddelelse og kan ikke tilføje den duplikerede IP-adresse.

Tilføj IP-adresse

Første gang du går til webterminalsiden for din applikation i MyKinsta, skal du klikke på Opsæt godkendelse for at tilføje IP-adresser til tilladelseslisten. For at se den adresse, du opretter forbindelse fra, skal du bruge et værktøj som Test your IPv6.

Indtast den første IP-adresse, du vil tillade. Hvis du vil tilføje flere IP-adresser, skal du klikke på Add another. Når du har indtastet alle de IP-adresser, du vil tillade, skal du klikke på Set up authentication.

Tilføj IP-adresser til listen over tilladte IP-adresser for at konfigurere webterminal-godkendelse.
Tilføj IP-adresser til listen over tilladte IP-adresser for at konfigurere webterminal-godkendelse.

Hvis du har brug for at tilføje flere IP-adresser i fremtiden, skal du klikke på Tilføj IP-adresse i afsnittet Tillad liste på webterminalsiden.

Slet en IP-adresse

Hvis du vil fjerne en IP-adresse fra tilladelseslisten, skal du klikke på ikonet Slet (skraldespand) ved siden af den IP-adresse, du vil fjerne, og klikke på Delete IP-adresse for at bekræfte sletningen.

Start og åbn webterminalen

For at åbne webterminalen skal du først oprette forbindelse til den, hvilket implementerer en webterminal-pod. Klik på Start webterminal for at begynde at åbne forbindelsen. Mens forbindelsen åbnes, vil indstillingerne på webterminalsiden være deaktiveret.

Indstillingerne på webterminalsiden er deaktiveret, mens webterminalforbindelsen åbnes.
Indstillingerne på webterminalsiden er deaktiveret, mens webterminalforbindelsen åbnes.

Når udrulningen af webterminal-poden er færdig, vises Webterminal kører over tilladelseslisten. Klik på Open web terminal for at åbne webterminalen i en ny fane i din browser.

Åbn webterminalen.
Åbn webterminalen.

Du kan se siden Start web terminal, mens terminalen indlæses. Når terminalen er indlæst, kan du køre kommandoer som i en almindelig terminal. De tilgængelige kommandoer afhænger af de eksekverbare filer, der findes i din applikation.

Brugernavn til terminalen

Hvis din applikation blev oprettet med en Nixpack (Brug Nixpacks til at konfigurere containerbillede i Build-miljø trinnet), vil brugernavnet i terminalen normalt være “root”. Kinsta tilbyder Nixpacks, et open source-projekt, der vedligeholdes af Railway, som en af mulighederne for automatisk at bestemme sproget og oprette en container til din applikation baseret på dit lager.

Hvis din applikation blev oprettet med en Buildpack (Brug Buildpacks til at opsætte containerbillede i Build-miljø trinnet), kan brugernavnet i terminalen være “heroku.” Kinsta tilbyder Buildpacks, et open source-projekt vedligeholdt af Heroku, som en af mulighederne for automatisk at bestemme sproget og oprette en container til din applikation baseret på dit lager. Dette kan overføres til webterminalen.

Hvis din applikation blev oprettet med en Dockerfile (Brug Dockerfile til at opsætte containerimage i Build environment trinnet), vil brugernavnet i terminalen normalt være “root”, men det afhænger af, hvordan din Dockerfile er opsat.

Stop og luk webterminalen

Når du er færdig med at arbejde i terminalen, skal du lukke fanebladet i din browser for at lukke forbindelsen til webterminalen. Lukning af fanebladet stopper ikke terminalen, men hvis du vil åbne terminalen igen, skal du klikke på Open web terminal, vente ca. 30 sekunder og opdatere det nye faneblad for at se terminalen igen.

For at stoppe webterminalen skal du klikke på Stop web terminal.

Mens terminalen kører, kan du ikke redigere IP Allow-listen. Hvis du har brug for at redigere den, skal du stoppe terminalen, foretage dine ændringer i tilladelseslisten og åbne terminalen igen.

Hvis webterminalforbindelsen er oprettet, men ikke åbnet, vil forbindelsen automatisk lukke ned efter 24 timer.

Nixpacks binære mapper

Med Nixpacks kan de binære mapper afvige fra de binære standardmapper for applikationssproget. Følgende tabel viser de binære mapper, der bruges til nogle af de mest almindelige sprog:

Sprog Vejviser
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 har ikke en specifik standard binær sti som nogle andre kompilerede sprog. Når du kompilerer et Scala-program, genererer det bytekode, der kører på Java Virtual Machine (JVM).

De kompilerede Scala-klasser er typisk gemt i en mappestruktur, der afspejler pakkestrukturen i din kode. Dette svarer til, hvordan Java-klasser er organiseret. Som standard, når du kompilerer en Scala-kildefil, vil de kompilerede .class-filer blive placeret i samme mappe som kildekoden (inden for en undermappestruktur baseret på pakke-erklæringerne).

Hvis det er nødvendigt, kan du installere Scalas runtime-værktøjer ved hjælp af en Dockerfile i stedet for at bruge en Nixpack.

PHP /nix/var/nix/profiles/default/bin/php
Go Go har ikke en specifik standard binær sti som nogle andre kompilerede sprog. Når du kompilerer et Go-program, placeres den resulterende binære eksekverbare som standard i samme mappe som din kildekode.

Hvis det er nødvendigt, kan du installere Go’s runtime-værktøjer ved hjælp af en Dockerfile i stedet for at bruge en Nixpack.

Buildpack binære mapper

Med buildpacks kan de binære mapper afvige fra de binære standardmapper for applikationssproget. Følgende tabel viser de binære mapper, der bruges til hvert buildpack-sprog:

Sprog Vejviser
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 har ikke en specifik standard binær sti som nogle andre kompilerede sprog. Når du kompilerer et Scala-program, genererer det bytekode, der kører på Java Virtual Machine (JVM).

De kompilerede Scala-klasser er typisk gemt i en mappestruktur, der afspejler pakkestrukturen i din kode. Dette svarer til, hvordan Java-klasser er organiseret. Som standard, når du kompilerer en Scala-kildefil, vil de kompilerede .class-filer blive placeret i samme mappe som kildekoden (inden for en undermappestruktur baseret på pakke-erklæringerne).

Hvis det er nødvendigt, kan du installere Scalas runtime-værktøjer ved hjælp af en Dockerfile i stedet for en buildpack.

PHP /workspace/.heroku/php/bin/
Go Go har ikke en specifik standard binær sti som nogle andre kompilerede sprog. Når du kompilerer et Go-program, placeres den resulterende binære eksekverbare som standard i samme mappe som din kildekode.

Hvis det er nødvendigt, kan du installere Go’s runtime-værktøjer ved hjælp af en Dockerfile i stedet for en buildpack.

Fejlfinding

  • Hvis du ser siden Error 1016 – Origin DNS i stedet for terminalskærmen, når du åbner webterminalen, skyldes det en lille forsinkelse i DNS-udbredelsen. Vent 1 minut, og opdater siden, indtil du ser terminalskærmen. Hvis problemet fortsætter i mere end et par minutter, skal du kontakte vores supportteam.
  • Hvis du ser en 403: Forbidden, når du åbner webterminalen, betyder det, at din IP-adresse ikke er på listen over tilladte adresser. Stop webterminalen, tilføj din IP-adresse, og start webterminalen igen.
  • En fejl svarende til følgende ERRO[0000] exec failed error indikerer, at containeren mangler shell-pakken. Du bliver nødt til at tilføje pakken til din container for at kunne køre webterminalen.

    ERRO[0000] exec failed: container_linux.go:425: starting container process caused: exec: “bash”: executable file not found in $PATH
    kommandoen blev afsluttet med exitkode 1

Relateret dokumentation