[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-nuxt-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},47,"deployer-nuxt-vps","Deploy a Nuxt Application on a VPS","Deploy Nuxt 3 on a VPS: Nitro, Node.js, PM2, Nginx, and SSL. A guide for Vue developers who want to self-host their application.",7,739,false,"2026-05-04T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},4,"Development","developpement","bg-warning\u002F10 text-warning","dev",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-nuxt-vps-poster.svg",{"categorySlug":18,"appSlug":27},"nuxt","Nuxt 3 and its Nitro engine produce a universal server capable of running on any Node platform. Deploying it on your VPS gives you fast SSR rendering, unlimited server routes, and full control over the build, far from the constraints of managed hosting.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","Why Self-Host Nuxt on a VPS?","With Nitro, Nuxt 3 generates a portable build (`preset: node-server`) that starts as a simple Node server listening on a port. This portability is ideal for a VPS: you benefit from server-side rendering, `server\u002Fapi` routes, and route caching without depending on a proprietary edge runtime. Self-hosting removes function quotas and lets you tune caching, compression, and the number of Node instances. For a production Vue 3 application with authentication, server API calls, and careful SEO, the VPS offers the stability of a persistent server and a fixed cost, with no per-invocation billing surprises.",{"type":35,"title":36,"items":37},"ul","Concrete Benefits of a Self-Hosted Nuxt",[38,39,40,41,42,43],"Unlimited `server\u002Fapi` server routes, with no per-call billing.","SSR and Vue 3 hydration served from a persistent, stable Node server.","Portable Nitro build (`node-server`) easy to containerize and reproduce.","Route caching and `routeRules` rules (SSR, SSG, ISR) controlled on the server side.","Pooling of several Nuxt apps on a single VPS behind Nginx.","Runtime environment variables (`runtimeConfig`) managed directly on your own server.",{"type":31,"title":45,"body":46},"Hardware and Software Prerequisites","As with any modern framework, the Nuxt build consumes memory: aim for 2 GB of RAM minimum (the build can be run in CI if your VPS is smaller). At runtime, 1 vCPU and 1 GB are enough for the Nitro server. Install Node.js 20 LTS via `nvm` or a `node:20-alpine` image, along with PM2 for supervision or Docker for isolation. Configure `nitro: { preset: 'node-server' }` in `nuxt.config.ts`. A domain pointed to the VPS is required for the TLS certificate. Ubuntu 22.04\u002F24.04 LTS remains the recommended base.",{"type":48,"title":49,"steps":50},"steps","Deploy Nuxt Step by Step",[51,54,57,60,63,66],{"title":52,"body":53},"Configure the Project for Node","Set the Nitro `node-server` preset in `nuxt.config.ts` and declare your secrets in `runtimeConfig`. On the VPS side, install Node.js 20 LTS and PM2, then clone the repository and create the `.env` file.",{"title":55,"body":56},"Build the Application","Run `npm ci`, then `npm run build`. Nitro produces a self-contained `.output` folder containing `server\u002Findex.mjs`. This folder is all the VPS needs to serve the application in production.",{"title":58,"body":59},"Launch the Nitro Server","Start with `pm2 start .output\u002Fserver\u002Findex.mjs --name nuxt`, setting `PORT=3000` and `NITRO_HOST=0.0.0.0` in the environment. Run `pm2 save` and `pm2 startup` to restart the service after a VPS reboot.",{"title":61,"body":62},"Place Nginx as a Reverse Proxy","Configure a server block with `proxy_pass http:\u002F\u002Flocalhost:3000`, forward `Host` and `X-Forwarded-Proto`, and serve `\u002F_nuxt\u002F` (hashed assets) directly from `.output\u002Fpublic` with a long cache. Enable gzip or brotli.",{"title":64,"body":65},"Enable HTTPS","Generate a Let's Encrypt certificate with Certbot for `yourdomain.com`, force the HTTP-to-HTTPS redirect, and schedule automatic renewal. Verify that SSR correctly detects the secure protocol via the forwarded headers.",{"title":67,"body":68},"Automate Updates","Set up a `git pull && npm ci && npm run build && pm2 reload nuxt` script or a CI pipeline that pushes the `.output` folder. PM2's `reload` guarantees a deployment with no service interruption.",{"type":70,"body":71},"tip","Leverage Nuxt's `routeRules` to mix rendering strategies page by page: `prerender: true` for static pages (blog, legal notices), `swr` or `isr` for semi-dynamic pages with caching, and full SSR for personalized pages. You reduce the load on Node and improve response time without changing infrastructure.","Deploy Your Nuxt with Full Autonomy","The ServOrbit Cloud VPS provides a template with Node.js, PM2, Nginx, and automatic SSL, ideal for hosting your Nuxt 3 applications with SSR and server routes.","Deploy My Nuxt VPS","\u002Fvps-cloud",[77,90,104],{"id":78,"slug":79,"title":80,"excerpt":81,"readTime":11,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":23,"bgImage":24,"posterImage":87,"relatedSolution":88},5,"deployer-laravel-vps","Deploying Laravel on a VPS: a production guide","Take Laravel to production on a VPS: PHP, workers, cache, database, reverse proxy and HTTPS configured cleanly.",2840,"2026-02-09T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[86],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":20,"appSlug":89},"laravel-stack",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":95,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":23,"bgImage":24,"posterImage":101,"relatedSolution":102},43,"deployer-nodejs-vps","Deploy a Node.js Application on a VPS","Deploy a Node.js application to production on a VPS: PM2, Nginx reverse proxy, Let's Encrypt SSL, and automatic startup at boot.",8,591,"2026-05-08T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[100],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":18,"appSlug":103},"nodejs",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":95,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":23,"bgImage":24,"posterImage":114,"relatedSolution":115},44,"deployer-django-vps","Deploy a Django Application on a VPS","Deploy Django on a VPS: Gunicorn, Nginx, PostgreSQL, Docker, and SSL. A complete guide for Python developers who want to self-host.",628,"2026-05-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[113],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-django-vps-poster.svg",{"categorySlug":18,"appSlug":116},"django",1785628431074]