I denne vejledning gennemgår vi trinene for at implementere et Node.js eksempelprogram og en database. Du er velkommen til at bruge eksempelapplikationen nedenfor til test, men du skal ikke stole på den til nogen form for produktionsbrug. Formålet med applikationen er at teste implementering af en applikation og forbinde den til en database hos Kinsta.

Eksempelprogram

Vi har oprettet en lille applikation til at logge vejret og vise resultaterne på en simpel side. Du kan finde applikationen på GitHub. Hvis du vil bruge en anden Git-tjenesteudbyder, kan du importere repositoriet til Bitbucket eller GitLab.

Fork eksempelapplikationen

Besøg først applikationen weatherlogger-js på GitHub og læs den medfølgende Readme-fil for at få mere at vide om applikationen. Når du har gjort dig bekendt med den, skal du klikke på Fork-knappen øverst til højre for at fork den til din egen GitHub-konto.

Opret en fork af weatherlogger-js på GitHub.
Opret en fork af weatherlogger-js på GitHub.

Opret en API-nøgle

Appen kræver en API-nøgle fra OpenWeather. Når du tilmelder dig, kan du logge ind og oprette en API-nøgle gratis, som giver dig mulighed for at foretage 1.000 API-opkald dagligt. Vi anbefaler at gøre dette trin først, da det tager API-nøglen 10-20 minutter at blive aktiv, hvilket vi kan bruge på at oprette vores applikation.

Processer

Når vi implementerer applikationen til Kinsta, skal vi køre to processer:

  • En webserver, hvor vi kan se vores vejrdata. Den kan startes ved hjælp af kommandoen npm start.
  • Et cronjob, der indsamler vejrdata med få minutters mellemrum. Dette kan startes ved hjælp af kommandoen npm run weatherLogger

Lad os begynde at gøre tingene klar til at køre disse processer.

Opret en database

I MyKinsta skal du sikre dig, at du er på siden Databaser, og klik derefter på Tilføj database. Vi brugte følgende værdier i formularen til at oprette vores eksempeldatabase:

  • Database navn: weatherloggerdb
  • Visningsnavn: Weather Logger Database
  • Database type: MySQL
  • Version: 8.0
  • Vi lod brugernavn og password til databasen være uændret
  • Datacenterets placering: us-central1
  • Database-størrelse: 0,25 CPU-kerne – 256 MB RAM (Mini)

Klik på Opret database, og du skulle være klar.

Oprettelse af en ny database til vores eksempelprogram.
Oprettelse af en ny database til vores eksempelprogram.

Opret en applikation

Sørg for, at du er på applikationssiden, og klik derefter på Tilføj applikation. Når du klikker på GitHub-repository feltet, skal du tillade Kinsta at interagere med dit repository.

Du kan finde mere trin-for-trin-dokumentation i Tilføj en applikation.

Vi brugte følgende værdier i flerdelt formular til at oprette vores eksempelapplikation:

Ansøgningsdetaljer

  • GitHub-repository: danielpataki/weatherlogger-js (i dit tilfælde vil det være noget i retning af your-organization/weatherlogger-js)
  • Standardgren: main
  • Automatisk udrulning ved commit: ikke markeret
  • Programnavn: Weather Logger
  • Datacenterplacering: us-central1
Oprettelse af en ny applikation til vores eksempel.
Oprettelse af en ny applikation til vores eksempel.

Byg miljø

  • Byg ressourcer: Standard
  • Byg miljø: Konfigurer containerbillede automatisk
Konfiguration af byggemiljøet til vores eksempel.
Konfiguration af byggemiljøet til vores eksempel.

Ressourcer

  • Indstil dine processer:
    • Procesnavn: Webproces
    • Procestype: web
    • Start kommando: npm start
    • Podstørrelse: Standard 0,5 CPU / 1GB RAM
    • Antal tilfælde: 1

Klik på Tilføj applikation, og implementeringsprocessen vil blive startet.

Opsætning af webprocessen for vores eksempelapplikation.
Opsætning af webprocessen for vores eksempelapplikation.

Betalingsmetode

Gennemgå eksempelapplikationens månedlige forbrugsomkostninger, og bekræft din betalingsmetode.

Bekræftelse af betalingsmetoden for vores eksempelapplikation.
Bekræftelse af betalingsmetoden for vores eksempelapplikation.

Tilslutning af applikationen og databasen

Når databasen er klar til forbindelser (der vises et grønt flueben ved siden af den), kan vi tilslutte den til vores applikation, selv om applikationen stadig er ved at blive implementeret. Klik på Weather Logger-applikationen, klik på Settings (Indstillinger) i sidebaren og rul ned for at finde afsnittet Internal connections (Interne forbindelser).

Interne forbindelser i vores eksempelprogram.
Interne forbindelser i vores eksempelprogram.

Klik på Tilføj forbindelse, og i det modale vindue/pop-up vindue, der vises, skal du vælge Weather Logger Database. Marker afkrydsningsfeltet Tilføj miljøvariabler for at få adgang til databasen, marker afkrydsningsfelterne Tilgængelig under kørsel og Tilgængelig under byggeproces, og klik på Tilføj forbindelse.

Tilføj en intern forbindelse til vores eksempelprogram.
Tilføj en intern forbindelse til vores eksempelprogram.

Opsætning af programmet

Den næste ting på vores liste er at tilføje alle de oplysninger, som vores applikation har brug for i form af miljøvariabler. De fleste af oplysningerne blev automatisk tilføjet i det foregående trin ved at udfylde variablerne for databaseforbindelsen.

Den eneste, der mangler, og som applikationen har brug for, er OpenWeatherMap API-nøglen. I Indstillingerne, lige under afsnittet Interne forbindelser, kan du se afsnittet Miljøvariabler. Klik på Tilføj miljøvariabel, og brug OPENWEATHER_KEY som nøgle og din API-nøgle som værdi.

Tilføj din OpenWeather API-nøgle til miljøvariablerne.
Tilføj din OpenWeather API-nøgle til miljøvariablerne.

Applikationen understøtter et par flere variabler til styring af opdateringsfrekvens, anvendte enheder osv. Tag et kig i applikationens dokumentation for at få flere oplysninger.

Konfigurering af processer

Vi nævnte i begyndelsen, at vi skal bruge en webserver og et cronjob. Gå over til afsnittet Processer i applikationen, og du vil se den webproces, der kører npm start, vi oprettede, da vi tilføjede applikationen.

For at oprette cronjobbet skal du klikke på knappen Create process (Opret proces) og udfylde formularen i den modal/pop-up, der vises. Vi har brugt følgende værdier i vores eksempel:

Navn: Worker
Type: Worker Baggrundsjob
Startkommando npm run weatherLogger
Pod-størrelse: Standard 0,5 CPU / 1GB RAM
Instanser: 1

Klik derefter på Opret proces.

Opret baggrundsprocessen for vores eksempelprogram.
Opret baggrundsprocessen for vores eksempelprogram.

Udrulning af applikationen

Til sidst skal du gå tilbage til afsnittet Deployments og klikke på knappen Deploy now (Implementer nu). Implementeringen tager normalt ca. 90 sekunder, men det kan være nødvendigt at vente lidt længere tid, før alle processer starter korrekt. Din første vejrmåling bør blive logget et par minutter efter. Hvis du vil kontrollere, at alt fungerer, kan du tage et kig på afsnittet Logs (Logfiler).

Runtime logs for eksempelprogrammet.
Runtime logs for eksempelprogrammet.

Efter et par minutter bør du se vellykkede processer i Runtime-logfilerne. I ovenstående eksempelbillede viser linje 482, at loggeren er begyndt at arbejde (Starting weather logging), og linje 483 viser, at webserveren kører (Weather server is up and running). Linje 245 og fremefter viser to logningshændelser (Weather data retrieved og Weather data logged).

Nær toppen af siden kan du se din applikations URL (denne kan også findes på siden Implementeringer under Seneste implementering). Klik på denne URL for at blive ført til den side, der serveres af webtjenesten:

Vejrloggersiden viser vejrposter.
Vejrloggersiden viser vejrposter.

Relateret dokumentation