WordPress runs on almost any server with PHP and MySQL, but “runs” and “runs well” are different things. This guide covers the official requirements, the PHP extensions you actually need, and practical VPS sizing for different kinds of WordPress sites.

Official recommendations

Component Recommended
PHP 8.3 or newer (8.2 also fine); avoid end-of-life versions
Database MySQL 8.0+ or MariaDB 10.6+
HTTPS Required in practice (browsers, SEO, logins, payments)
Web server Nginx or Apache (LiteSpeed/OpenLiteSpeed also popular)

WordPress still technically supports older versions, but they’re slower, and many no longer receive security updates. See WordPress PHP 8 compatibility.

PHP extensions

Required or strongly recommended:

sudo apt install -y php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-imagick \
  php8.3-intl php8.3-mbstring php8.3-xml php8.3-zip php8.3-opcache php8.3-bcmath
Extension Used for
mysqli / mysqlnd Database connection
curl HTTP requests (updates, APIs)
gd or imagick Image resizing; Imagick supports more formats (WebP, AVIF)
mbstring, intl Multibyte text, internationalisation
xml, dom Feeds, imports, many plugins
zip Plugin and theme installs and updates
opcache PHP performance (essential)
redis (optional) Persistent object cache

Tools → Site Health in WordPress lists missing extensions. See PHP extensions.

PHP settings worth changing

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
opcache.memory_consumption = 256

See php.ini settings and increase the upload size.

Web server choice

Server Notes
Nginx + PHP-FPM Most common on VPS; fast; FastCGI cache for full-page caching
Apache + PHP-FPM .htaccess support (some plugins expect it); use the event MPM
OpenLiteSpeed Built-in page cache with the LiteSpeed Cache plugin

Guides: WordPress on Ubuntu with Nginx, install a LAMP stack, and install OpenLiteSpeed.

VPS sizing by site type

Site type Traffic profile Suggested VPS
Personal blog, brochure site Mostly cached, < 50k visits/month 1–2 vCPU, 2 GB RAM
Business site, several sites on one server Moderate, some logged-in users 2 vCPU, 4 GB RAM
Busy content site, membership, LMS Many uncached requests 4 vCPU, 8 GB RAM
WooCommerce store Carts and checkout are uncached See WooCommerce VPS requirements
Agency hosting many client sites Many PHP pools and databases 4–8 vCPU, 8–16 GB RAM

What drives resource needs:

  • Uncached requests (logged-in users, carts, search, admin) need PHP workers. Each PHP-FPM worker typically uses 50–150 MB.
  • Database size and the InnoDB buffer pool.
  • Plugins: heavy page builders, LMS and membership plugins use more CPU and RAM.

See how much RAM a VPS needs and PHP-FPM tuning.

Disk

  • WordPress core plus plugins: a few hundred MB. Media libraries grow with time.
  • Leave room for local backups (before off-site upload), logs, and updates.
  • SSD storage makes a real difference for database-heavy sites. VPS.DO plans all use SSD storage.

Other essentials

Quick reference

Item Recommendation
PHP 8.3 with OPcache
Database MySQL 8 / MariaDB 10.6+
Starting VPS 2 vCPU / 4 GB for most business sites
Must-haves HTTPS, SMTP, real cron, off-site backups

Related: WordPress VPS hosting and WordPress VPS performance tuning.

  • WordPress
  • VPS Guide
  • PHP