~/tutorials $

Linux server tutorials

Step-by-step tutorials for a Linux server: VPNs, web servers, databases, containers, security and backups. Each one names the distributions it was tested on.

12 of 45 tutorials in Web servers tested on Ubuntu 24.04 LTS

  1. How to host a static website with nginx on Ubuntu or Debian

    Serve a static site with nginx from your own server, with clean URLs, gzip, HTTP/2, the right caching headers and one-command deploys with rsync.

    beginner · 25 min · Ubuntu 24.04 LTS, Debian 12 Oldstable, Debian 13 Stable

  2. How to install Node.js on Ubuntu 24.04

    Three ways to install Node.js on Ubuntu 24.04, NodeSource, nvm and Ubuntu's own package, which one to pick, and how to update or switch versions later.

    beginner · 10 min · Ubuntu 24.04 LTS

  3. Deploy a FastAPI app with Gunicorn, Uvicorn workers and systemd

    Run a FastAPI app in a virtualenv under Gunicorn with Uvicorn workers, keep it up with a systemd service, and put nginx in front as a reverse proxy.

    intermediate · 30 min · Ubuntu 24.04 LTS

  4. Deploy a Node.js app with PM2 and nginx on Ubuntu 24.04

    Run a Node.js app under its own user with PM2, bring it back after reboots, put nginx in front as a reverse proxy, and ship updates without downtime.

    intermediate · 30 min · Ubuntu 24.04 LTS

  5. Deploy on push with GitHub Actions and the VPSNine API

    Build on every push to main in GitHub Actions, snapshot the VPSNine server through the API, then ship with rsync over SSH and switch releases atomically.

    intermediate · 40 min · Ubuntu 24.04 LTS

  6. How to get a Let's Encrypt wildcard certificate with the DNS challenge

    Get a free *.example.com certificate from Let's Encrypt with certbot or acme.sh and your DNS provider's API, renew it automatically and reload your web server.

    intermediate · 25 min · Ubuntu 24.04 LTS, Debian 12 Oldstable

  7. How to use Caddy as a reverse proxy for multiple sites and apps

    One Caddyfile that serves several domains and apps on one server, each with its own automatic HTTPS certificate, path routing, headers, logs and basic auth.

    intermediate · 30 min · Ubuntu 24.04 LTS, Debian 12 Oldstable, Debian 13 Stable

  8. Install PHP 8.3 with PHP-FPM and nginx on Ubuntu 24.04

    Install PHP 8.3 and PHP-FPM from Ubuntu's archive, wire it to nginx, give each site its own FPM pool and user, and tune the settings that matter.

    intermediate · 25 min · Ubuntu 24.04 LTS

  9. Receive VPSNine webhooks in Node.js and Python

    A dependency-free webhook receiver in Node.js or Python that checks every VPSNine signature, refuses replays, skips duplicates and runs under systemd.

    intermediate · 35 min · Ubuntu 24.04 LTS, Debian 12 Oldstable

  10. Run a multi-container app with Docker Compose and a reverse proxy

    One compose.yaml with an app, its PostgreSQL database and Caddy for HTTPS, on private networks with named volumes, health checks, secrets, updates and backups.

    intermediate · 30 min · Ubuntu 24.04 LTS

  11. WP-CLI tutorial: manage and harden WordPress from the command line

    Install WP-CLI, then update WordPress, manage plugins and users, move a site to a new domain, back up the database and lock the site down, all over SSH.

    intermediate · 35 min · Ubuntu 24.04 LTS

  12. Create and destroy preview servers per pull request

    Order a VPSNine server per pull request from GitHub Actions, deploy the branch, comment its address, and delete the server when the PR closes.

    advanced · 45 min · Ubuntu 24.04 LTS

Be first when orders open

Join the waitlist and we'll send you one email when VPSNine launches. Pick a plan if you already know which one you want, and we'll size the first servers around it.

  • One email, on launch day
  • Monthly or yearly, no lock-in
  • 14-day money-back guarantee