Skip to main content
🔥 Hosting from ₹49/mo · Save up to 43% on 3-year plans · Free domain + Free SSL + Free migration · Ends in --d --h --m --s Claim offer →

Node.js Hosting India — VPS Setup, Best Plans, and Common Mistakes (2026)

By HostStack Editorial · · All posts

Node.js is the backend runtime for a huge chunk of Indian startups in 2026 — from Discord bots and Telegram automation to Next.js apps and REST APIs powering mobile apps. But finding the right hosting for Node.js in India is confusing because most hosting ads target WordPress users, not JavaScript developers. This guide covers the right VPS tier, the correct PM2 + Nginx setup, and the common mistakes that take down Indian Node.js deployments.

Why shared hosting does not work for Node.js

Standard shared hosting (cPanel, Plesk) is designed around PHP. PHP runs as CGI/FPM — each request spawns a process, does the work, exits. Node.js is different: it runs as a persistent process listening on a port. Shared hosting has no mechanism for persistent non-PHP processes.

Some hosts offer Passenger (Phusion) for Node.js on shared plans. This works for simple apps but fails for:

  • WebSocket connections (Passenger doesn't handle long-lived connections well on shared)
  • Background workers / queues (processes get killed on idle)
  • Custom npm packages that require native compilation (node-gyp)
  • Running multiple Node services on different ports

For any production Node.js app, you need a VPS with root access.

Which HostStack VPS tier for your Node.js app?

Use caseRecommended tierHostStack plan
Telegram/Discord bot, side project API1 vCPU / 2 GB / 40 GBX1 · ₹849/mo
Express API, Next.js SSR, <500 DAU2 vCPU / 4 GB / 80 GBX2 · ₹1,199/mo
Node API + PostgreSQL + Redis on same box4 vCPU / 8 GB / 160 GBX3 · ₹1,999/mo
Multi-service Node + queue workers + DB6–8 vCPU / 12–16 GBX4–X5 · ₹3,699–₹5,299/mo

All prices ex-GST, Mumbai Ryzen KVM. NVMe SSD on all tiers. DDoS-aware network included.

Node.js setup on HostStack Ubuntu VPS — step by step

1. Install Node.js via nvm (recommended)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20        # Node.js 20 LTS
nvm use 20
node -v               # v20.x.x

2. Deploy your app and install PM2

npm install -g pm2
cd /var/www/myapp
npm install --production
pm2 start app.js --name myapp
pm2 startup         # follow the printed command to enable on reboot
pm2 save

3. Nginx reverse proxy configuration

server {
    listen 80;
    server_name yourdomain.in;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_cache_bypass $http_upgrade;
    }
}

Then add SSL with Certbot: certbot --nginx -d yourdomain.in

PM2 cluster mode — use all CPU cores

By default, Node.js is single-threaded. On a 4-vCPU VPS, you are only using 25% of available CPU if you run one process. PM2 cluster mode forks one process per core:

pm2 start app.js --name myapp -i max   # -i max = one per CPU core
pm2 list                               # see all processes
pm2 monit                              # live CPU + memory per process

Use cluster mode for stateless Express/Fastify APIs. Do NOT use cluster mode for apps with in-memory state (rate limiter, session cache) — use Redis for shared state instead.

Common Node.js hosting mistakes on Indian VPS

  • Running Node as root — create a separate deploy user. Never run Node (or any web server) as root.
  • Not setting NODE_ENV=production — Express skips optimisations and error handling differs. Always set NODE_ENV=production in your PM2 ecosystem config or systemd unit.
  • Forgetting process restart on crash — PM2's default restart policy is fine. But also enable pm2 startup so it survives reboots.
  • Opening Node's port to the internet — Node should listen on localhost only (127.0.0.1:3000). Nginx handles the public port. Never expose :3000 directly.
  • Ignoring memory leaks — Node.js has a max heap (~1.5 GB by default). Set PM2's max_memory_restart option to automatically restart on memory threshold: --max-memory-restart 512M.

Next.js on HostStack VPS

Next.js SSR is RAM-hungry. The build process alone needs 1.5–2 GB RAM. For a production Next.js app:

  • Minimum: 2 vCPU / 4 GB RAM (X2 · ₹1,199/mo)
  • Build on the same VPS or use a CI pipeline — Next.js builds can take 2–5 minutes on 1 vCPU
  • Use PM2 with npm run start (not next dev) in production
  • Static assets: serve via Nginx directly or push to Cloudflare R2/S3 for CDN delivery

Pricing summary — Node.js VPS in India (INR, ex-GST)

All HostStack plans are Ryzen KVM, NVMe SSD, Mumbai POP, DDoS included, INR billing, GST invoice.

  • X1 (1 vCPU / 2 GB / 40 GB): ₹849/mo — bots, side projects
  • X2 (2 vCPU / 4 GB / 80 GB): ₹1,199/mo — Express API, Next.js SSR
  • X3 (4 vCPU / 8 GB / 160 GB): ₹1,999/mo — Node + DB + Redis on one box

See full Mumbai Ryzen VPS pricing · VDS for dedicated cores

Editorial desk

HostStack · infrastructure & hosting · Jun 2026

We publish engineering-first guides for teams buying hosting in India: limits that matter at renewal, latency and POP discipline, when cloud beats shared, and when KVM is unavoidable.

Next step

Provision on published SKUs — INR checkout, GST invoicing.

Compare plans in the client area; marketing pages only illustrate typical bundles.

Renewal terms confirmed at checkout · Eligible migrations documented in migration checklist

Chat on WhatsApp Real human · usually replies in minutes