
If you’re a developer—or want to become one—you need to have your own VPS running. I’m not talking about using Vercel, Netlify, or Heroku for everything. I’m talking about having a Linux server that you configure, manage, and understand end to end.
Why? Simple: most production issues don’t happen in your code—they happen in the infrastructure. Database connections locking up, SSL certificates expiring, reverse proxy misconfigured, disk full, zombie processes eating memory. If all you know is pushing code and waiting for auto-deploy to work, you’re going to struggle when things break.
Having a VPS forces you to learn:
- How SSH works, key-based authentication, and basic server security
- Process, service, and log management on Linux
- Reverse proxy setup with Nginx or Apache
- Firewall, ports, DNS, and basic networking
- Manual deployment before automation (you need to understand the process)
And the best part: a basic VPS costs between $5 and $10/month. That’s literally the price of two coffees. You’ll use it to host personal projects, test tech, run bots, APIs—whatever you want.
I’ll give you the full roadmap of what needs to be done. I won’t spoon-feed every step because you need to learn how to figure things out—that’s part of the process. Use Claude, ChatGPT, official docs—whatever you need.
1. Register a domain (optional but recommended)
Technically you can use just the IP, but having a domain lets you set up automatic SSL with Let’s Encrypt and learn about DNS.
Where to register:
- Registro.br for .com.br (R$ 40/year, official)
- Cloudflare Registrar for .com/.dev (at-cost pricing)
- Namecheap or Porkbun are great alternatives
Suggested prompt:
I need to register my first domain to use with a VPS.
Explain the registration process on [choose a registrar]
and how to set the nameservers to point to Cloudflare DNS afterward.
2. Provision a VPS
Pick a provider and create your first droplet/instance. I recommend starting with the cheapest option.
Suggested providers:
- DigitalOcean: Friendly UI, great docs ($6/month droplet)
- Vultr: Usually cheaper, many locations ($5–6/month)
- Linode/Akamai: Solid, competitive pricing
- Contabo: More resources for the money, but weak support
Minimum specs:
- 1 vCPU
- 1GB RAM
- 25GB SSD
- Ubuntu 22.04 LTS or Debian 12
Suggested prompt:
I’m going to provision my first VPS on [chosen provider].
I need to understand:
1. Which Linux distribution to choose and why
2. How to generate and add an SSH key during provisioning
3. What initial firewall settings I should enable
4. Which region to choose (I’m in Brazil)
3. First access and basic hardening
Once your VPS is ready, you’ll receive an IP address. Time to connect via SSH and apply basic security settings.
What you need to do:
- Connect via SSH using your private key
- Create a non-root user with sudo privileges
- Disable root login via SSH
- Configure firewall (ufw)
- Update the system
Suggested prompt:
I just provisioned an Ubuntu 22.04 VPS. I have root SSH access.
Guide me through the basic security setup:
1. Create a user with sudo
2. Configure SSH to allow keys only (no password login)
3. Disable root login
4. Configure ufw to allow only necessary ports
5. System update commands
4. Point DNS to your VPS
Now that you have a fixed VPS IP, set up DNS records in Cloudflare.
What to configure:
- An A record pointing the root domain to the IP
- An A record for the www subdomain
- Enable Cloudflare proxy (orange cloud)
Suggested prompt:
I have a domain on [registrar] and I want to use Cloudflare for DNS.
My VPS IP is [your IP].
Explain:
1. How to add the domain to Cloudflare
2. Which DNS records to create (A, AAAA, CNAME)
3. The difference between proxied and DNS-only
4. How to verify propagation worked
5. Install and configure Nginx
Time to run a web server. Nginx will act as a reverse proxy for your applications.
Suggested prompt:
I need to install and configure Nginx on Ubuntu 22.04.
Teach me:
1. Installation via apt
2. Nginx directory structure (/etc/nginx, sites-available, sites-enabled)
3. Create a basic config to serve a static page
4. How to test config and reload the service
5. Essential Nginx commands
6. Set up SSL with Let’s Encrypt
Nobody visits a site without HTTPS in 2026. Certbot automates certificate issuance and renewal.
Suggested prompt:
I have Nginx running and my domain points to the server.
I need to set up SSL with Let’s Encrypt:
1. How to install Certbot
2. Issue a certificate for my domain
3. Set up automatic renewal
4. Test that HTTPS is working
5. How Certbot modifies the Nginx config
7. Deploy your first application
Now you’ll run something real. It can be a Node.js API, a PHP app—anything.
Suggested prompt (Node.js example):
I want to deploy a Node.js API on my VPS:
1. How to install Node.js via nvm
2. Configure the app to run as a service (systemd)
3. Create an Nginx reverse proxy config
4. Ensure the app restarts if the server reboots
5. How to view application logs
Why this format?
This article isn’t a full copy-paste tutorial. It’s a roadmap of what you need to learn. Each prompt forces you to research, understand, and adapt to your specific situation.
You’ll make mistakes. You’ll debug. You’ll get stuck. That’s intentional. That’s how you actually learn.
When you’re done, you won’t just have a VPS running—you’ll understand how Linux works, how web servers operate, how DNS resolves names, and how SSL protects connections. Those skills are worth way more than $10/month.
And one more important thing: understand the commands AI suggests—so you actually know what you’re doing and why.
Let’s get your hands dirty.