Best VPS for Node.js: 1 GB RAM for Small APIs, More to Scale
Best VPS for Node.js: 1 GB RAM for Small APIs, More to Scale

A self-managed KVM VPS on modern AMD and NVMe hardware is the best practical choice for most production Node.js apps, and our plans at AceRDP suit developers who want low latency, strong CPU performance and instant provisioning. Size RAM first, since memory can be a constraint, and remember that a single Node process may not use all available CPU capacity. Extra vCPUs help when you run multiple processes.
TL;DR:
- For a small production API, start with 1–2 GB RAM, 1–2 vCPUs, 20–40 GB NVMe storage, and regular backups, then adjust after load testing.
- A single Node.js process uses one CPU core, so prioritize a fast core; add capacity when PM2 cluster mode or background jobs need more.
- Choose an Active or Maintenance LTS release for production; as of October 2026, Node.js 24 is LTS, while Node.js 26 remains Current.
- Self management gives OS control and predictable costs, but you handle security and updates; managed hosting saves operations time while limiting flexibility.
- For chat, games, and dashboards, choose a data center near your users and test round trip times before committing, because latency shapes responsiveness.
Table of Contents
- Which VPS size fits your Node.js project?
- What do Node.js apps actually need from a server?
- How do you choose a VPS plan for Node.js?
- What is the setup checklist from fresh server to running app?
- How do you scale a Node.js app on a VPS?
- What should a Node.js VPS cost per month?
- Our perspective: when a self-managed VPS is the right call
- Start with an AceRDP plan that matches your Node.js project
- FAQ
- Sources
Which VPS size fits your Node.js project?
Pick the profile closest to your app, then adjust after you measure real traffic.
- Hobby or prototype: Choose a modest amount of RAM, CPU capacity and NVMe storage for side projects, bots and staging servers.
- Small production API with low concurrency: 1–2 GB of RAM, 1–2 vCPUs, 20–40 GB of NVMe storage and regular backups. Logs, a database client and a reverse proxy all fit here with room to spare.
- High-concurrency, WebSocket-heavy or clustered workloads: Consider a larger amount of CPU and RAM, NVMe storage and a plan to run multiple instances behind a load balancer.
- Network and region: choose a data center close to your users. Real-time apps such as chat, games and live dashboards feel latency more than raw bandwidth, so test round-trip times before you commit.
Recent roundups of Node.js VPS hosting stress the same idea: configurable cloud VPS environments with predictable resources and root access suit real-time apps, REST APIs and production workloads.
What do Node.js apps actually need from a server?
Node.js runs your JavaScript on a single-threaded event loop. One process handles many connections by never blocking, but it can only use one CPU core at a time. A server with more CPU capacity than a single Node process can use may leave some capacity idle. To use that extra capacity, you run multiple processes, which we cover in the scaling section.
That behavior shapes every sizing decision:
- CPU: a fast single core matters more than a large core count for a single process. Modern AMD Ryzen cores clock high, which helps request handling and JSON parsing.
- Memory: an idle Express or Fastify app often sits well under 100 MB, but real apps grow with dependencies, caches and open connections. 512 MB works for tiny services, 1 GB gives breathing room for a small API, and 2 GB or more suits apps with in-memory caching, image handling or many WebSocket clients.
- Storage: NVMe disks cut install times for
npm install, speed up builds and keep log writes from stalling other work. A slow disk quietly drags down deploys and database-backed endpoints. - Network: a persistent port for each service, plus enough headroom for WebSocket connections that stay open for hours. Latency to your users shapes how snappy real-time features feel.
Node.js also has a release policy that affects what you install. Major versions start in a Current phase and later move to LTS, and production apps should run an Active or Maintenance LTS release. Pinning an LTS version means security patches keep arriving without surprise breaking changes.
Release status today: Node.js 24 is LTS and Node.js 26 is the Current release as of October 2026, so install the LTS line for anything customers depend on.

How do you choose a VPS plan for Node.js?
Treat plan selection as a checklist rather than a price comparison.
- CPU: A modest CPU allocation may be enough for a single low-traffic process. Choose more capacity when you want PM2 cluster mode or when builds and background jobs share the machine with your API.
- RAM headroom: add up the operating system (roughly 200–300 MB for a lean Linux install), your app’s working memory per process, nginx, and a buffer for traffic spikes. If you plan to run three processes at 250 MB each, a 1 GB plan will feel cramped; step up to 2 GB.
- Storage: prefer NVMe for anything performance sensitive. Size it for the application,
node_modules, build artifacts and logs, and rotate logs so they never fill the disk. - Network and region: ping candidate locations from where your users are. Prefer a nearby point of presence for real-time apps, and check that the plan’s bandwidth allowance covers your expected traffic.
- Extras to verify: DDoS protection, snapshots or backups, instant provisioning and responsive support. A cheap plan without a restore path becomes expensive the day something breaks.
Pro Tip: Provision a plan that fits your profile, run a realistic load test, and consider upgrading if memory or CPU usage remains high under normal traffic.
A managed platform removes the operations work, but it also limits your choices. Practitioners note that managed platforms trade architectural freedom for convenience, while a self-managed VPS gives predictable costs and unrestricted OS access. That access lets you tune memory limits, environment variables and custom binaries, which matters for complex SaaS products and high-throughput WebSocket apps. The price is that you handle updates, security and process management yourself. For background on how outsourced operations compare, this overview of cloud managed services explains what a managed arrangement typically covers.
What is the setup checklist from fresh server to running app?
Work through these steps in order on a fresh Linux install.
- Install nvm and pin an LTS Node version. Run the nvm install script, then
nvm install --ltsandnvm alias default lts/*. LTS keeps you on a supported release line. - Install PM2. Run
npm install -g pm2, then start your app withpm2 start app.js. PM2’s quick start covers the CLI for starting, monitoring and scaling, includingpm2 logsandpm2 monit. - Enable boot persistence. Run
pm2 startupand follow the command it prints, thenpm2 save. PM2 generates startup scripts for common init systems, and you must regenerate them after upgrading Node so the right binary loads at boot. - Put nginx in front. Nginx is commonly used as a front end for Node.js to terminate TLS and serve static assets more efficiently than the Node runtime. A server block listens for secure traffic, holds your certificate paths, and uses a
proxy_passdirective to forward requests to your app inside alocation /block. Nginx’s beginner guide explains its master and worker processes and where configuration usually lives, such as/etc/nginx. - Lock down access. Disable SSH password login in favor of keys, allow only the ports your services require through the firewall, and turn on automatic security updates.
- Add monitoring and backups. Watch processes with PM2 and its logs, and schedule snapshots before every major deploy.
| Task | Tool | Key command or file |
|---|---|---|
| Node version management | nvm | nvm install --lts |
| Process management | PM2 | pm2 start app.js |
| Boot persistence | PM2 startup | pm2 startup, pm2 save |
| Reverse proxy and TLS | nginx | proxy_pass in a server block |
| Firewall | ufw or equivalent | allow only required ports |
| Process monitoring | PM2 | pm2 monit, pm2 logs |
How do you scale a Node.js app on a VPS?
Start with one instance, then grow in the order that costs the least effort.
- PM2 cluster mode: cluster mode spreads a Node.js app across available CPUs without code changes, for example with
pm2 start app.js -i max. It also supports zero-downtime reloads throughpm2 reload. This is the right first step on any multi-core plan. - Vertical versus horizontal scaling: move to a bigger plan when one machine still has headroom to use, and add VPS instances when you need redundancy or when one host’s network or memory is the limit. Our guide on scaling VPS resources without migration walks through a metrics-first approach.
- Nginx load balancing: nginx supports round-robin, least-connected and ip-hash methods across an upstream group. Least-connected suits uneven request durations, and ip-hash gives basic session persistence when you cannot avoid sticky sessions.
- Health checks and reloads: have your app expose a lightweight health endpoint, let nginx stop sending traffic to failing upstreams, and use graceful reloads so deploys never drop active requests.
- Stay stateless: keep sessions, caches and queues in an external store such as Redis, so any process on any server can answer any request. Workloads with heavy compute or machine-learning components raise further questions about readiness, which this production readiness resource discusses.
What should a Node.js VPS cost per month?
Prices vary by provider, but these bands are reasonable expectations for self-managed plans.
- Hobby projects: roughly $3–$10 per month for a small plan with 512 MB to 1 GB of RAM.
- Standard production: roughly $10–$40 per month for 2 GB or more of RAM, multiple vCPUs and NVMe storage.
- Higher concurrency: $40 and up per month for 4+ vCPUs, 4 GB or more of RAM, and room for several instances.
- Add-ons that raise the bill: managed backups, extra bandwidth and premium support. Check what is included before you compare headline prices.
- Developer time versus platform fees: a managed service charges more every month to save you operations hours, while a self-managed VPS keeps the bill flat and asks for your time. Decide which resource is scarcer for your team.
- A simple estimate: Load test an instance, note the number of concurrent connections or requests it handles at a sustainable CPU load, then compare that capacity with your expected peak and the monthly plan price.
Our own plans are listed on our plans page with current pricing for each tier.
Our perspective: when a self-managed VPS is the right call

We think a self-managed VPS is the right choice when you want predictable monthly costs and full control over your stack. You pay with some setup time, and you get the freedom to run PM2, nginx, Redis and whatever else your app needs without platform limits.
Our infrastructure is built around modern AMD Ryzen CPUs, NVMe storage, instant provisioning, low latency and responsive support, which are exactly the traits a single-threaded Node.js process rewards. Our advice is simple: spin up a test instance, run your own benchmarks, and validate latency from where your users actually sit before you move production. For deeper tuning, our article on AMD Ryzen NVMe Linux VPS performance goes further.
— AceRDP
Start with an AceRDP plan that matches your Node.js project
Choose a tier based on the CPU, RAM and storage your Node.js project needs.
- Our offering: AMD Ryzen CPUs, NVMe storage, instant provisioning, DDoS protection, and Linux or Windows servers.
Start with a small instance, test PM2 cluster mode and your nginx configuration, and take a snapshot before you migrate production traffic. Pick your tier on our plans page, and use our knowledgebase if you want step-by-step setup help.

FAQ
How much RAM does a Node.js VPS need?
For a small production API, choose a RAM allocation based on measured usage. Tiny services and prototypes may need less, while apps with caching, many WebSocket clients or multiple PM2 processes may need more.
Do I need more than one CPU core for Node.js?
A single low-traffic process may not need much CPU capacity. Choose more capacity when you want to run several processes, because PM2 cluster mode spreads an app across available CPUs.
Which Node.js version should I run in production?
Run an Active or Maintenance LTS release. Node.js’s release policy moves major versions from Current to LTS, and LTS lines keep receiving security fixes.
Should I use nginx in front of Node.js?
Yes, in most cases. Nginx terminates TLS, serves static files efficiently and can balance traffic across several Node processes or servers, leaving your app to focus on application logic.
Is a VPS better than managed Node.js hosting?
It depends on what you value. A VPS gives full control and predictable costs but requires you to manage updates and security, while managed platforms save operations time at the price of flexibility.
Sources
- Fly
- Using nginx as HTTP load balancer
- PM2 - Cluster Mode: Node.js Load Balancing
- Node.js — Node.js Releases