Node.js
Deze handleiding bevat voorbeelden van hoe je de volgende Node.js applicaties kunt instellen om te deployen op Kinsta’s Applicatie Hosting diensten vanuit een GitHub repository:
Vereisten
- De Quickstart templates van Kinsta worden opgeslagen en beheerd in GitHub; daarom heb je een GitHub account nodig om er toegang toe te krijgen.
- Je moet een MyKinsta account aanmaken om de applicatie te deployen.
Node.js
- Log in op GitHub en maak een nieuwe repository van deze template (Use this template > Create a new repository): Kinsta – Hello World – Node.js.
- Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
- Kies de Hello World – Node.js repository en een Datacenter locatie. Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap.
- Klik bij de stap Samenvatting op Deploy nu.
Tijdens de deployment detecteert Kinsta automatisch het Startcommando voor het webproces en installeert de afhankelijkheden die zijn gedefinieerd in je package.json bestand. De app is beschikbaar zodra de deployment is voltooid en de Kinsta Welkomstpagina wordt geladen op de URL van je applicatie.
Bekijk je liever de videoversie?
Webserver instellen
Poort
Kinsta stelt automatisch de omgevingsvariabele PORT
in. Je hoeft deze niet zelf te definiëren of hard te coderen in de applicatie. Gebruik process.env.PORT
in je code als je verwijst naar de serverpoort.
app.listen(process.env.PORT, () => {
console.log(`Hello World Applicatie is running on port ${process.env.PORT}`)
})
Start commando
Wanneer je een applicatie deployt, maakt Kinsta automatisch een webproces aan met npm start
als startcommando. Zorg ervoor dat je dit commando gebruikt om je server te starten. Als je een ander commando wilt gebruiken, moet je het webproces in MyKinsta aanpassen.
"scripts": {
"start": "node server.js"
},
Omgevingsvariabelen
Standaard is de NODE_ENV
omgevingsvariabele niet ingesteld op production
voor Node.js applicaties; je moet deze omgevingsvariabele handmatig toevoegen.
Deployment levenscyclus
Wanneer een deployment wordt gestart (door het maken van een applicatie of het opnieuw deployen als gevolg van een binnenkomende commit), wordt het npm build
commando uitgevoerd, gevolgd door het npm start
commando.
Node.js applicatie met een Dockerfile
- Log in op GitHub en maak een nieuwe repository van deze template (Use this template > Create a new repository): Kinsta – Hello World – Dockerfile – Node.js.
- Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
- Kies de Hello World – Dockerfile – Node.js repository en een Datacenter locatie, laat alle andere instellingen als standaard en klik op Doorgaan.
- Kies bij de stap Bouwomgeving de optie Dockerfile gebruiken om een container image op te zetten en klik op Doorgaan > alle andere instellingen kunnen standaard blijven, klik op Doorgaan > Deploy nu.
De Dockerfile moet het Startcommando bevatten in een CMD
regel of ENTRYPOINT
instructie. De app is beschikbaar zodra de deployment is voltooid en een Hello World pagina wordt geladen op de URL van je applicatie.
Deployment levenscyclus
Wanneer je de app maakt, creëert Kinsta een proces op basis van de CMD
instructie in de Dockerfile:
CMD ["npm", "run", "start"]
Als je dit commando in de repository wijzigt nadat de applicatie is uitgerold, wordt het proces niet automatisch bijgewerkt in MyKinsta, dus je moet ook het Start commando in de Processen van je applicatie wijzigen.
Node.js applicatie om e-mails te verzenden
Dit is een voorbeeld van hoe je een Node.js applicatie instelt om e-mails te versturen via SendGrid op Kinsta’s Applicatie Hosting diensten, ingezet vanuit een GitHub repository.
Kinsta ondersteunt van nature geen uitgaande e-mails van servers. Het verzenden van e-mails via gespecialiseerde uitgaande providers zoals SendGrid of Mailchimp biedt meer flexibiliteit en hogere slagingspercentages voor transactie- en campagne-e-mails.
- Log in op GitHub en maak een nieuwe repository van deze template (Gebruik deze template > Maak een nieuwe repository): Kinsta – Hello World – Email sending with Node.js.
- Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
- Kies de Hello World – Email Sending With Node.js repository en een Datacenter locatie. In Omgevingsvariabelen voeg je het volgende toe:
SENDGRID_API_KEY
: De API sleutel van SendGrid.TEST_EMAIL_TO_ADDRESS
: Het adres waar je de testmail naartoe wilt sturen.TEST_EMAIL_FROM_ADDRESS
: Het adres waarvandaan je de test e-mail wilt versturen.TEST_ENDPOINT
: Het endpoint dat je wilt gebruiken als trigger om de testmail te versturen. Gebruik een willekeurige tekenreeks van ten minste 8 tekens.
- Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap. Klik bij de stap Samenvatting op Nu deployen.
De app is beschikbaar zodra het uitrollen is voltooid en een Hello World pagina wordt geladen op de URL van je applicatie.
Een e-mail triggeren
Dit project heeft geen bouwfase nodig. Het start commando draait node server.js,
die een Express server start met twee endpoints:
/
: Een eenvoudige pagina die het Hello World bericht retourneert/${TEST_ENDPOINT}
: Een pagina die een testmail triggert.
Om een e-mail te triggeren, zoek je de URL van je deployment op de Deployments pagina, voeg je je test endpoint toe aan deze URL en bezoek je de pagina. Bijvoorbeeld, als je TEST_ENDPOINT
hebt ingesteld op o34nifnodhni4of
en je laatste deployment staat op https://example.kinsta.app, dan kun je een testmail starten vanaf https://example.kinsta.app/o34nifnodhni4of in je browser.
Een “Email sent” bericht verschijnt als de test e-mail succesvol is.
Als je dit verifieert bij SendGrid, krijg je ook een succesvol bericht.