Webbhotell med Node.js-stöd

Node.js är inte PHP. Det är en långkörande process, inte ett skript som startar och avslutas per anrop, och det ställer andra krav på hostingmiljön. På delad hosting körs applikationerna nästan alltid via Phusion Passenger. Det fungerar för enklare API:er och lättare Express-applikationer, men WebSockets och persistenta processer kräver en VPS.

Vi listar nedan de hostar som faktiskt erbjuder Node.js-stöd, så att du kan jämföra och hitta rätt nivå för ditt projekt.

Läs om hur vi testar och betygsätter

26 resultat Priser exkl. moms
Sverige Oderland 3 paket
4.8
SSL SSH Backup HTTP/3 Sverige WordPress WooCommerce Redis GDPR Grönt Litespeed Cpanel
Från
215 kr /mån
USA Kinsta 3 paket
4.6
Endast WordPress SSL SSH Backup HTTP/3 WordPress WooCommerce Managed Nginx
Sverige Inleed 5 paket
4.6
SSL SSH Backup HTTP/3 Sverige WordPress WooCommerce Redis GDPR NginxLitespeed Directadmin
Sverige Templ 5 paket
4.5
Endast WordPress SSL SSH Backup HTTP/3 WordPress Managed Nginx
Intropris från
142 kr /mån
Ord. från 155 kr/mån
USA WP Engine 4 paket
4.4
Endast WordPress SSL SSH Backup WordPress WooCommerce Managed Nginx
USA Cloudways 3 paket
4.3
SSL SSH Backup WordPress Apache
Sverige HostUp 3 paket
4.3
SSL SSH Backup Sverige WordPress GDPR Litespeed Cpanel
Intropris från
59 kr /mån
Ord. från 79 kr/mån
Danmark Simply.com 4 paket
4.2
SSL SSH Backup WordPress Apache
Intropris från
2 kr /mån
Ord. från 110 kr/mån
Bulgarien SiteGround 2 paket
4.1
SSL SSH Backup WordPress GDPR
Intropris från
3 kr /mån
Ord. från 16 kr/mån
Schweiz Infomaniak 1 paket
4.1
SSL SSH Backup WordPress GDPR Grönt Apache
Tyskland Hetzner 4 paket
4.0
SSL SSH Backup Redis GDPR Grönt Apache
Litauen Hostinger 3 paket
4.0
SSL SSH Backup WordPress WooCommerce GDPR Litespeed
Intropris från
24 kr /mån
Ord. från 118 kr/mån
Sverige EgenSajt 1 paket
3.9
SSL SSH Backup Sverige WordPress Apache
USA Namecheap 3 paket
3.8
SSL SSH Backup WordPress Litespeed Cpanel
Intropris från
2 kr /mån
Ord. från 4 kr/mån
3.8
SSL SSH Backup WordPress Redis GDPR Litespeed Cpanel
Intropris från
4 kr /mån
Ord. från 12 kr/mån
3.7
SSL SSH Backup WordPress GDPR Litespeed Cpanel
Intropris från
1 kr /mån
Ord. från 119 kr/mån
Tyskland Strato 3 paket
3.6
SSL SSH Backup WordPress GDPR Grönt Apache
Intropris från
1 kr /mån
Ord. från 59 kr/mån
Tyskland IONOS 4 paket
3.5
SSL SSH Backup WordPress GDPR Grönt Apache
Intropris från
1 kr /mån
Ord. från 8 kr/mån
Sverige Wopsa 3 paket
3.5
SSL Backup Sverige WordPress GDPR Cpanel
Intropris från
7 kr /mån
Ord. från 69 kr/mån
Danmark Polar55 1 paket
3.5
SSL SSH Backup WordPress Litespeed Cpanel
Intropris från
9 kr /mån
Ord. från 39 kr/mån

Node.js beter sig annorlunda på ett webbhotell

Node.js är en JavaScript-körmiljö byggd på Chromes V8-motor, och den beter sig fundamentalt annorlunda än PHP. Där PHP startar en ny process per förfrågan och avslutar den direkt efteråt, körs en Node.js-applikation som en långlivad process som lyssnar på en port. Det är den skillnaden som avgör allt när det gäller webbhotellsstöd.

De flesta delade webbhotell är optimerade för PHP-arbetsflöden. Filerna läggs på servern, webbservern tar hand om resten. Node.js kräver ett annat upplägg: din applikation måste startas, hållas igång och startas om om den kraschar. På ett traditionellt delat hotell saknas vanligtvis infrastrukturen för det.

Passenger och cPanel Node.js App

Det finns ett undantag som faktiskt fungerar: Phusion Passenger, en applikationsserver som bland annat stöder Node.js och som kan driftsättas i Apache eller Nginx på delade servrar. Hostingleverantörer som kör cPanel med tillägget "Setup Node.js App" använder Passenger under huven. Du pekar ut din app-rot och start-fil, Passenger startar processen och hanterar omstarter automatiskt.

Begränsningarna är reella trots det. Passenger på delad hosting ger dig sällan möjlighet att välja portbindning, sätta miljövariabler på ett säkert sätt eller köra processer i bakgrunden obehindrat. CPU- och minnesgränser per konto gäller lika hårt för Node.js-processer som för PHP-skript. Och om leverantören inte erbjuder SSH-åtkomst, vilket inte är ovanligt på de billigaste planerna, kan driftsättningen bli omständlig.

Versionshantering: ett underskattat problem

Node.js har ett aktivt releaseflöde med tydliga LTS-versioner (Long-Term Support). Node 22 LTS är den aktuella rekommendationen för produktionskod. Problemet på delade webbhotell är att du ofta är utlämnad till den version leverantören valt att installera, och den kan ligga flera majorversioner efter. Express och moderna ramverk som Next.js drar nytta av nyare motoroptimieringar och API:er som saknades i Node 16 och 18.

En VPS löser det snyggt. Med nvm (Node Version Manager) byter du version per projekt med ett kommando och låser versionen per repo via en .nvmrc-fil. Det är standard i professionella driftsättningsflöden och saknas i princip helt på delade servrar.

Express, Next.js och vad du faktiskt kan köra

Ett enkelt Express-API med låg trafik kan fungera på delad hosting med Passenger-stöd. Det är fullt möjligt att driftsätta en REST-backend eller ett litet webhook-skript på det sättet. Mer krävande applikationer som en Next.js-sajt med server-side rendering kräver resurser och processkontroll som delade servrar sällan klarar utan friktioner. Next.js i produktionsläge kan utan problem äta 200-400 MB RAM och behöver kunna svara snabbt under belastning, vilket krockar med delade servers resurstak. Webbhotell för utvecklare ger en bredare bild av vad som skiljer leverantörerna åt på teknisk nivå.

Node.js kräver en långlivad process som lyssnar på en port. Delade webbhotell är byggda för PHP, som startar och stänger ned vid varje förfrågan.

Delad hosting fungerar sällan bra för Node.js-appar

Även om ett webbhotell listar Node.js som stödd teknik är det stor skillnad mot hur PHP hanteras. Utan SSH-åtkomst, processkontroll och möjlighet att välja Node-version hamnar du snabbt i ett läge där applikationen tekniskt körs men där varje uppdatering eller omstart kräver support-kontakt eller pannpannearbete i kontrollpanelen. För allt mer än ett enkelt test-API är en VPS det rätta valet.

När ska du välja VPS istället?

Svaret är enkelt i de flesta fall: om Node.js är kärnan i det du bygger, välj en VPS. Du får full kontroll över systemet, kan installera exakt den Node-version du behöver och köra processer med PM2 eller systemd för automatiska omstarter och loggning. Prisskillnaden mot ett delat webbhotell är i dag liten nog att sällan motivera kompromisserna.

Undantaget är om du driver en primärt PHP- eller WordPress-baserad sajt och bara vill köra ett litet Node.js-skript eller en webhook vid sidan av. I det fallet kan delad hosting med Passenger-stöd duga. Men är Node.js kärnan, inte en sidofunktion, är en VPS rätt från start.

Det här bör ett webbhotell erbjuda för Node.js

  • SSH-åtkomstUtan SSH kan du inte installera paket, hantera processer eller felsöka problem på ett rimligt sätt. Kontrollera att det ingår i planen, inte bara som tillägg.
  • Passenger eller likvärdig applikationsserverPassenger hanterar uppstart, omstarter och process-livscykeln för Node.js. Utan det måste du lösa processhanteringen manuellt, vilket sällan fungerar stabilt på delad hosting.
  • Möjlighet att välja Node.js-versionKontrollera vilken version leverantören erbjuder och om du kan byta. Node 22 LTS är aktuell. Äldre versioner kan sakna API:er som moderna ramverk och paket kräver.
  • npm-åtkomst via terminalenDu behöver kunna köra npm install för att installera projektberoenden på servern. Utan terminalåtkomst fastnar du med att ladda upp node_modules via FTP, vilket är omständligt och felkänsligt.
  • Tillräckliga minnesresurserNode.js-processer håller sig i minnet kontinuerligt. Begränsade minnestak per konto, vanliga på billiga delad-planer, kan göra att din app avslutas oväntat under belastning.
  • Miljövariabler för konfigurationDatabaskopplingar, API-nycklar och liknande ska sättas som miljövariabler, inte hårdkodas i filer. Kontrollera att kontrollpanelen tillåter det eller att .env-filer kan hanteras säkert.

Vanliga frågor om Node.js-hosting

Svar på de vanligaste frågorna om att köra Node.js på webbhotell, när delad hosting räcker och när VPS är det ärligare valet.

Delad hosting och Node.js

Det går att köra enklare Node.js-applikationer på delad hosting, men med tydliga begränsningar. Hosten måste ha Phusion Passenger installerat och en Node.js-selektor i kontrollpanelen. SSH-åtkomst krävs för att installera paket. Det som sällan framgår av prissidan är att minne, CPU och antalet körande processer är hårt begränsat på delade planer, vilket gör att tyngre applikationer slår i tak snabbt.

Phusion Passenger är den applikationsserver som de flesta delade hostar använder för att köra Node.js. I cPanel skapar du en applikation via Node.js-selektorn, anger sökvägen till din app, väljer Node.js-version och pekar ut startfilen (vanligtvis app.js eller server.js). Passenger startar processen vid inkommande trafik och kan lägga den i viloläge om ingen aktivitet sker en stund. Du når terminalen via SSH för att köra npm install och hantera dina paket.

SSH på delad hosting ger tillräcklig åtkomst för grundläggande arbetsflöden som att klona ett repo, köra npm install och starta om en Passenger-applikation. Vad du inte kan göra är att binda egna portar, sätta upp PM2 som processhanterare eller köra bakgrundsprocesser utanför Passengers kontroll. Det räcker för en Express-API med modest trafik, men inte för projekt med långkörande workers eller daemon-processer.

Läs hela svaret

Ramverk och användningsfall

Next.js i statiskt exportläge (next export eller output: 'export') fungerar på vilken host som helst utan Node.js-process. Next.js med server-side rendering kräver däremot en körande Node-process via Passenger. Det kan fungera för lätta sajter, men byggtiden är lång och SSR under belastning konkurrerar om samma begränsade minne som andra kunder på servern delar. Den klassiska missräkningen är att applikationen verkar funka i testläge men hasar under riktig trafik.

En enkel Express-applikation med låg trafik passar faktiskt ganska väl för delad hosting via Passenger. API:er som svarar på REST-förfrågningar utan tung beräkning eller många samtidiga anslutningar är det typiska användningsfallet som fungerar. Problemen uppstår när Express används som BFF (backend for frontend) med hög genomströmning, eller när appen behöver hantera WebSocket-anslutningar, vilket kräver infrastruktur som delade hostar normalt inte tillhandahåller.

PHP-hosting är stateless per request: webbservern startar en PHP-process, kör skriptet och avslutar processen. Node.js är istället event-driven och körs som en långlivad process som hanterar många förfrågningar i samma körning. Det gör Node.js effektivare för realtidskommunikation och hög genomströmning, men det innebär också att processen måste hållas igång och övervakas. På delad hosting hanteras detta av Passenger, men med de restriktioner som följer av delade resurser.

Versioner och VPS

Via cPanels Node.js-selektor väljer du version per applikation ur de versioner hosten erbjuder. Problemet är att tillgången varierar kraftigt: vissa hostar erbjuder LTS-versioner (20.x, 22.x), andra har bara äldre versioner som nått end-of-life. Byt version i selektorn och kör npm install på nytt via SSH. På VPS styr du versionen fritt med ett versionshanteringsverktyg som nvm, vilket är ett av de starkaste skälen att välja VPS för projekt med specifika versionskrav.

VPS är det bättre valet när projektet kräver WebSockets för realtidskommunikation, behöver PM2 eller liknande processhanterare, förlitar sig på bakgrundsworkers, eller förväntar sig trafiktoppar som kräver förutsägbara resurser. Även versionsberoendet är ett starkt argument: om din applikation kräver en specifik Node.js-version som hosten inte erbjuder är VPS den enkla lösningen. En managed VPS sänker tröskeln avsevärt om du vill slippa serveradministration men ändå ha full kontroll.

Sällan. WebSockets kräver att reverse proxyn stöder HTTP Upgrade-protokollet, vilket de flesta delade hostar inte konfigurerar. Applikationen kan starta utan fel, men WebSocket-anslutningar misslyckas i praktiken. Socket.io med fallback till polling fungerar tekniskt men skapar onödig belastning. Behöver ditt projekt realtidskommunikation via WebSockets bör du från start planera för VPS eller en plattform byggd för långkörande processer.

Läs hela svaret