Why host Nuxt on a VPS?
Shared hosting platforms do not support Node.js natively, which makes self-hosting a Nuxt application impossible without a VPS or a dedicated server. A VPS lets you choose the version of Node.js you want, configure a reverse proxy (Nginx or Caddy) on the port of your choice, and manage your own TLS certificates — all without any artificial limitation on CPU or memory resources. It is the ideal solution for independent developers and SMEs who want to control their stack end to end.
What you can do with Nuxt on a VPS
- Serve a Nuxt application in SSR mode (server-side rendering) for optimal SEO and reduced loading times
- Deploy a static site generated with
nuxt generateand serve it via Nginx without a permanent Node.js process - Host several Nuxt projects on the same VPS thanks to a reverse proxy and Virtual Hosts
- Configure sensitive environment variables (API keys, DB connections) directly on the server, outside the Git repository
- Automate your deployments with PM2, GitHub webhooks or a CI/CD pipeline pointing to your VPS
- Enable HTTPS automatically with Let's Encrypt via Caddy or Certbot to secure your users
Install Nuxt on your ServOrbit VPS
Order a ServOrbit Cloud VPS
Go to the /vps-cloud page and choose the plan suited to your project. For a Nuxt application in SSR, we recommend at least 1 vCPU and 1 GB of RAM, ideally 2 GB to comfortably absorb the Node.js process and a possible reverse proxy. Complete the order and access your client area once the VPS is delivered (usually in under a minute).
Access the Marketplace in the client area
Log in to your ServOrbit client area, then navigate to the « Marketplace » section from your VPS dashboard. The Marketplace lists all the preconfigured applications available for one-click installation on your instance.
Select Nuxt and start the installation
Search for « Nuxt » in the Marketplace catalog, click the corresponding card, then confirm the installation. The installation script automatically configures Node.js (LTS), the necessary system dependencies, PM2 as the process manager to keep the application running, as well as Nginx as a reverse proxy on port 80 (and 443 if a domain is provided). The operation usually takes less than two minutes.
Upload your application and configure the environment variables
Once the installation is complete, connect via SSH to your VPS (ssh root@<IP-du-VPS>). Clone your repository into the prepared directory (for example /var/www/nuxt-app), install the dependencies with npm install, then create your .env file with your environment variables (API key, base URL, etc.). Then build the application with npm run build. Nuxt starts by default on port 3000; PM2 is already configured to restart the process automatically when the server boots.
Access your application and point your domain
Your application is immediately accessible via your VPS IP address on port 3000 (e.g. http://<IP>:3000). To make it accessible on your domain over HTTPS, point your DNS A record to the VPS IP, then update the Nginx Virtual Host (/etc/nginx/sites-available/nuxt-app) with your domain name and run Certbot (certbot --nginx -d votre-domaine.com) to obtain a free TLS certificate. Reload Nginx (nginx -s reload): your Nuxt application is live.
Pro tip: use PM2 in cluster mode to take advantage of all your VPS's CPU cores. The command pm2 start .output/server/index.mjs -i max --name nuxt-app (for Nuxt 3) starts as many instances as there are available cores and automatically distributes the load across them — ideal for traffic spikes without changing VPS plan.
The official documentation
For advanced configuration, tool-specific options and version changes, refer to the official Nuxt documentation. This guide covers going live on a ServOrbit VPS; the vendor documentation remains the reference for fine-tuning.