How to self-host WordPress on a VPS (that stays fast)
Running WordPress on your own VPS removes every limit a shared host imposes: no plugin blacklists, no memory ceiling, no arbitrary inode caps. Here is the shortest reliable path to a fast, secure install.
**1. Start with the right stack.** On Debian or Ubuntu, a LEMP stack — Nginx, PHP-FPM and MariaDB or MySQL — is the standard. Nginx serves static files efficiently, PHP-FPM keeps PHP processes warm, and MariaDB is battle-tested with WordPress.
**2. Give WordPress its own database and user.** Never use root. Create a dedicated schema and a user with a long random password, and grant it rights only on that schema.
**3. Install core and run the installer.** Download WordPress to your web root, set the file permissions so the web server can read files but only your user can write, and complete the five-minute installer.
**4. Add TLS immediately.** No exceptions. Issue a certificate and redirect all HTTP to HTTPS; mixed-content warnings will otherwise cost you trust and rankings.
**5. Put a cache in front of it.** Page caching is the single biggest performance win for WordPress. A full-page cache turns a dynamic request into a static file for logged-out visitors, and it is the difference between a site that survives a traffic spike and one that falls over.
**6. Harden it.** Disable the built-in file editor, turn off directory listing, add fail2ban against login brute-force, and keep only the plugins you actually use — every plugin is extra attack surface.
**7. Automate backups before you need them.** Back up the database and the uploads folder, and copy both off the server. A backup that lives on the same VPS as the site is not a backup.
The most common mistakes are skipping TLS, never adding caching, and treating backups as a later problem. Fix those three and a modest VPS will comfortably serve a busy WordPress site.