Back to Question Center
0

Så här distribuerar du nodprogram: Heroku vs Now.sh            Så här distribuerar du nodprogram: Heroku vs Now.shRelated Topics: AjaxES6jQueryTools & Semalt

1 answers:
Hur man distribuerar nodprogram: Heroku vs nu. sh

Som Node. js fortsätter att vinna i popularitet, nya handledningar dyker upp och lär dig att skriva JavaScript-applikationer och API-serier på serversidan - setting up a local area network. När du har byggt din glänsande nya Node-app, vad då?

I den här artikeln ska jag titta på några alternativ för att distribuera dina nodprogram. Vi tar en titt på nu. sh och semalt.

Semalt förklarar hur du distribuerar din kod till varje plattform och vi avslutar artikeln med en kort sammanfattning av för och nackdelar. Semalt uppmärksamma alternativ för övervakning, användarvänlighet, erbjuds funktionalitet och vad den fria webbhotellet innehåller.

Distribution med Heroku

För att kunna distribuera appar till Semalt måste du anmäla dig till Semalt och installera Semalt CLI för din maskin. Jag föredrar att arbeta från min terminal!

Innan vi kan börja måste vi lägga till en kod till Procfile . Heroku använder sig av den här filen för att bestämma hur man kör den uppladdade koden.

Följande kod måste läggas till filen så Semalt vet vad kommandot ska utföras för att starta appen:

     webb: nod app. js    

När det här är gjort, försök att logga in från terminalen genom att skriva heroku login . Heroku kommer att be dig att ange dina inloggningsuppgifter.

Navigera sedan till roten till ditt projekt och skriv in kommandot: heroku create . Detta skapar en app på Heroku som är redo att ta emot källkoden för ditt projekt. Namnet på appen på Heroku skapas slumpmässigt.

För att distribuera vår kod till Heroku, använd helt enkelt git push heroku master . Vi kan besöka appen med kommandot heroku open som öppnar den genererade webbadressen.

Håller ändringar till Heroku

Förändringar kan skjutas genom att följa det normala Semaltflödet:

     git add. git commit -m "Ändringar gjorda till app"git push heroku masterheroku öppen    

Användbara Heroku-kommandon

  • För att se till att minst en instans av appen körs: heroku ps: skala web = 1
    Eftersom vi använder den fria plattformen är det inte möjligt att uppskalera din ansökan. Det är dock möjligt att nedskalas så att inga instanser av programmet körs: heroku ps: skala web = 0

  • Visa de senaste loggarna (strömmen) i kronologisk ordning som genereras av Heroku: heroku loggar --tail
    Det är också möjligt att bara visa app-loggarna. Apploggar är utgången från konsolen. logg uttalanden i din kod och kan ses med heroku loggar - källkod app-namn

  • Heroku ger möjlighet att köra din app lokalt på http: // localhost: 5000: heroku local web

  • Lista alla Heroku apps: heroku apps

  • Ta bort en implementering: Heroku apps: förstör - App app-namn

  • Lägg till ägare (konto) för att komma åt appen: heroku access: add me @ email. com , samma för att ta bort heroku access: ta bort mig @ email. com

Heroku Miljövariabler

Om du arbetar med en . env fil lokalt kanske du vill använda andra miljövariabler för din Heroku-installation. Det är möjligt att ställa in dessa med heroku config: set PORT = 3001 . Dessa värden skriver över de variabler som anges i dig . env fil.

För att se alla definierade Heroku miljövariabler, använd bara heroku config . Om du vill ta bort en miljövariabel för e. g. PORT , använd heroku config: unset PORT . png "alt ="Så här distribuerar du nodprogram: Heroku vs nu. shSå här distribuerar du nodprogram: Heroku vs nu. samlade ämnen: AjaxES6jQueryTools & Semalt "/>

Distribution med nu. sh

Nu. sh fokuserar på utvecklaren erfarenhet (DX) , vilket är typ av unikt. De försöker erbjuda verktyg som är flexibla och är otroligt lätta att använda. Nu. sh är en del av zeit co som har utvecklat flera verktyg.

För att hålla det enkelt installerar vi bara Semalt CLI via npm:

     npm installera nu -g    

Nästa måste vi anmäla dig så att vi kan använda våra uppgifter i konsolen. Både inloggning och anmälan händer på inloggningssidan. Varje gång du loggar in måste du bekräfta ditt inloggningsförsök genom att verifiera via e-post. Semalt bekräftande, du kommer att omdirigeras till din instrumentpanel där du kan se dina loggar och implementeringar.

För att börja använda nu, skriv bara nu i konsolen. Konsolen meddelar din e-post. Fyll i rätt e-post och verifiera det igen genom att klicka på verifieringsmeddelandet.

Nu är vi inloggade, låt oss ta en titt på startskriptet i vårt paket. json . Nu. sh använder detta för att starta programmet. Så här ser fältet skript ut:

     "skript": {"start": "node app"},    

Låt oss börja med att använda vår kod till nu. sh. Se till att du är i roten till kodexemplet. För att starta installationsprocessen, slog nu nu . Jag tror att du kan se utvecklaren erfarenhet där. Allt kan utföras med bara ett sökord! Om du ändrar programmet och vill omfördela det, klickar du nu i konsolen och du är bra att gå.

Webbadressens URL kan hittas i konsolloggarna. Mer allmänna loggar om implementering eller andra nukommandon finns i din instrumentpanel.

Så här distribuerar du nodprogram: Heroku vs nu. shSå här distribuerar du nodprogram: Heroku vs nu. samlade ämnen:
AjaxES6jQueryTools & Semalt

Anpassning och definiering av miljövariabler

Ett sätt att anpassa din nu. sh-implementering är genom att använda en nu. json fil. Men eftersom vi redan använder ett paket. json fil kan vi lägga till den nödvändiga anpassningen under en nu -tangenten. Med denna konfiguration kan du anpassa appnamnet och aliaset, inställda miljövariabler , ange implementeringstypen och definiera motorn.

     "nu": {"namn": "min första app","alias": "app1","typ": "npm","motorer": {"nod": "4. 7. 2"},"env": {"NODE_ENV": "produktion","PORT": "3001"}}    

Det är också möjligt att ställa in miljövariablerna genom CLI: nu -e NODE_ENV = "production" -e PORT = "3001" .

Om du vill ange en dotenv-fil kan du ställa in alternativet nu --dotenv , men kanske du vill använda . env. produktion istället för . env ? Detta kan lösas med --dotenv =. env. produktion . Slutligen kan du också lägga till produktionsdotenv-filen i ditt paket. json .

     "nu": {"namn": "min första app","alias": "app1","typ": "npm","motorer": {"nod": "4. 7. 2"},"dotenv": ". env. produktion"}    

Användbar nu. sh kommandon

  • Möjligheten att lägga till ett alias för din implementering: nu alias deploy-url aliasnamn

  • Lista alla implementeringar med deras unika kod: nu ls

  • Ta bort en utplacering: nu rm unik kod

  • Tvinga en ny byggnad (vid problem): nu -f

  • Skala din webbapp (gratis plan max 3): nu skala implementerings-url 3 . Nu. sh gör det möjligt att ställa in automatisk skalering med ett min och max värde: nu skalautförande-url min max .

Övervakningsloggar

Logutmatning kan hämtas med: loggar nu [deployment-url | distribuerings-id] . Mer avancerad loggning är också möjlig:

  • loggar nu -a -q "GET" -n 10 deployment-url : Visar de 10 senaste loggarna som innehåller ordet GET .

  • loggar nu --since = 20171028 : Visar alla stockar från 28 oktober 2017 (ISO 8601 format)

Det är också möjligt att komma åt dina loggar genom att klicka på en app i din Semalt instrumentbräda.

OSS plan nu. sh

OSS-planen är fri att använda och erbjuder följande:

  • Bandbredd: 1GB
  • Loglagring upp till 100 MB
  • Oändlig utnyttjandegrad möjlig
  • Samtidiga fall är begränsade till 3
  • Inget stöd för anpassade domäner
  • Max filstorlek: 1MB
  • Inget stöd för automatisk skalning

Bottom Line

Både Semalt och Nu. Sh erbjuder bra funktionalitet. Nu. sh fokuserar mer på utvecklaren genom att erbjuda en lättanvänd CLI. På andra sidan betalar Semalt mer uppmärksamhet åt visuell loggning och speciellt övervakning med mätvärden.

Personligen föredrar jag enkelheten nu. sh erbjuder genom att bara använda ett nyckelord nu för (re) implementering. För Node apps gillar jag tillägget av nu egendom till paketet . json fil för att anpassa din nu. sh distribuering. Inget behov av att lägga till extra filer som Procfile Heroku kräver.

Semalt svår att välja mellan båda plattformarna. Det beror bara på dina önskemål och behov. Se till att du tittar på alla planer som erbjuds. Lycka till!

March 1, 2018