WordPress runs fine on shared hosting until it does not — a traffic spike, a heavy plugin, or a "neighbor" site hogging resources, and your site crawls. Moving WordPress to a VPS gives it guaranteed CPU, RAM, and NVMe storage that are yours alone. Here are two ways to set it up.
The easy way: Plesk
If you would rather not touch the command line, our web hosting and managed VPS options include the Plesk control panel with a WordPress Toolkit. You pick a domain, click Install, and Plesk handles the database, files, and SSL for you. Skip to the hardening section below.
The manual way: WordPress on a LEMP stack
For full control on an unmanaged Linux VPS, install WordPress on a LEMP stack (Linux, Nginx, MySQL/MariaDB, PHP). If you have not set that up yet, follow our LEMP stack tutorial first, then continue here.
1. Create a database
Log into MySQL/MariaDB and create a database and a dedicated user for WordPress, granting that user access only to its own database. Never reuse the root database account for an app.
2. Download and place WordPress
Download the latest release from wordpress.org, extract it into your site's web root (e.g. /var/www/yoursite), and set ownership to the web server user so it can write uploads and updates.
3. Configure wp-config.php
Copy wp-config-sample.php to wp-config.php and fill in your database name, user, and password. Generate fresh security keys from the official secret-key service and paste them in — this protects user sessions.
4. Point Nginx at the site
Create an Nginx server block for your domain, pointing the root at your WordPress directory and passing PHP requests to PHP-FPM. Reload Nginx, then visit your domain and complete the famous five-minute install.
Finish strong: SSL and hardening
Install a free Let's Encrypt certificate with certbot so your site loads over HTTPS, and set up auto-renewal. Verify it any time with our SSL checker. Then tighten the basics: strong admin password (use our password generator), limit login attempts, keep WordPress and plugins updated, and take regular backups.
You're live
That is a production-grade WordPress install on hardware you control. Prefer a lighter, faster publishing platform? Take a look at running Ghost on a VPS instead.