Kapitel 15 · 15.5
En Node.js-app konfigurera
Ditt hostingpaket kör inte bara PHP. Med Setup Node.js App konfigurerar du själv en Node.js-applikation, till exempel en Express-app eller ett litet API. Varje app får en egen Node.js-version och en egen mapp.
Skapa en app
- Klicka i DirectAdmin under Extrafunktioner på Setup Node.js App.
- Klicka på CREATE APPLICATION (1).
- Välj under Node.js version (1) versionen. Du kan välja mellan Node.js 9, 16, 20, 22 och 24. Som standard är 16 inställt, men välj hellre den senaste versionen som din app stöder, eftersom 9 och 16 inte längre får uppdateringar.
- Välj under Application mode Development eller Production. Det styr variabeln NODE_ENV. För en live-app väljer du Production.
- Fyll i under Application root (2) den mapp där filerna för din app ska ligga, till exempel apps/mittapp. Välj en mapp utanför public_html.
- Välj under Application URL (3) domänen och eventuellt en sökväg, till exempel api för dindoman.se/api. Lämnar du sökvägen tom körs appen på hela domänen.
- Fyll i under Application startup file (4) filen som startar din app, till exempel app.js eller server.js.
- Lägg eventuellt till egna inställningar under Environment variables med ADD VARIABLE.
- Klicka på CREATE.



Ladda upp din kod och installera paket
- Ladda upp din kod till mappen du valde under Application root, med Filhanterare, FTP eller Git (se Ladda upp och ladda ner filer och Git: uppdatera din webbplats från ett repository).
- Finns det en package.json i mappen? Gå då tillbaka till Setup Node.js App, klicka på pennan vid din app för att redigera den och klicka på Run NPM Install. Paketen installeras då.
- Klicka på Restart för att starta (om) appen.
Efter varje ändring i din kod klickar du på Restart igen. Annars fortsätter den gamla versionen att köras.
Bra att veta
- Din app måste lyssna på den port som servern tilldelar den. Använd i din kod process.env.PORT och inte ett fast portnummer.
- Appen körs inom gränserna för ditt paket (CPU, minne, processer, se Resource Usage: CPU, minne och processer). För en tung app väljer du ett större paket.
- På ett paket med SSH (se SSH-nycklar och inloggning med SSH) visas högst upp i skärmen för din app ett kommando för att aktivera rätt Node.js-version och mapp i Terminal. Därefter fungerar node och npm som vanligt.
- En webbplats som du har skapat med en sitegenerator (statisk HTML) behöver ingen Node.js. Den laddar du bara upp till public_html.
Vanliga frågor
Min app ger ett fel 503.
Appen startar inte. Oftast stämmer inte startfilen, saknas paket (glömt Run NPM Install) eller finns det ett fel i koden. Titta i mappen för din app i filen stderr.log efter felmeddelandet.
Får min app köra hela dagen?
Ja, så länge den håller sig inom gränserna för ditt paket. Appen startas när en förfrågan kommer in och stoppas igen efter en tid utan förfrågningar. En app som alltid måste vara igång utan besökare, till exempel en bot, passar bättre på en VPS.
Min app har fastnat och reagerar inte på Stop eller Restart.
Vänta en minut och försök igen. Går det fortfarande inte, skapa en ärende och ange namnet på din app.
