Running WordPress on a VPS is about control. You decide the PHP version, caching strategy, and server configuration. No shared hosting slowing down when your neighbor runs heavy traffic.
But it requires some comfort with the terminal.
What you need before starting
A VPS with Ubuntu 22.04 or newer works well. 1 GB RAM is enough for a site with moderate traffic, say up to 10,000 visits per month. SSH access and a domain name with DNS ready to go. That's it.
The stack: Nginx, PHP-FPM, MariaDB
Apache still works, but Nginx is faster for static files and uses less memory. PHP-FPM runs as a separate process, providing better isolation. MariaDB is a drop-in MySQL replacement with better performance in most benchmarks we've seen.
Installation is one command: sudo apt install nginx mariadb-server php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip
Don't skip mysql_secure_installation afterwards. People forget that step more often than you'd think.
SSL and HTTPS
Let's Encrypt via Certbot. Install it, run sudo certbot --nginx, done. The certificate renews automatically. There really is no excuse to run without HTTPS today.
The WordPress installation itself
Download with wget, unpack to the right directory, create the database and user in MariaDB, fill in wp-config.php. The whole thing takes maybe 20 minutes if you've done it before. First time around, expect an hour. Totally normal.
File permissions are the most common source of errors. 755 for directories, 644 for files. Owner should be www-data (or whichever user Nginx runs as). If you get the white screen of death after installation, always start by checking permissions.
Afterwards
Configure OPcache in php.ini. Set up a basic firewall with UFW. And take a full backup before you start installing plugins. It can save you hours later.