Лучшая конфигурация сервера для WordPress
Оптимальная конфигурация сервера для WordPress: стек LEMP, PHP-FPM, кэш Nginx FastCGI, Redis, настройка MariaDB, OPcache и настройка CDN. Рекомендуемые характеристики для разных уровней трафика.
Содержание
Лучшая конфигурация сервера для WordPress
WordPress — самая популярная система управления контентом в мире. Однако при работе с конфигурациями по умолчанию могут возникать проблемы с производительностью. Это руководство шаг за шагом объясняет оптимальную конфигурацию сервера для быстрой и надёжной работы вашего сайта WordPress.
Рекомендуемые характеристики сервера по уровню трафика
| Уровень трафика | Ежемесячные посетители | CPU | RAM | Хранилище | Рекомендуемый план |
|---|---|---|---|---|---|
| Малый | < 10 000 | 2 vCPU | 2 ГБ | 20 ГБ NVMe | VPS Starter |
| Средний | 10 000 - 100 000 | 4 vCPU | 4-8 ГБ | 50 ГБ NVMe | VDS Starter |
| Большой | 100 000 - 500 000 | 8 vCPU | 16 ГБ | 100 ГБ NVMe | VDS Pro |
| Корпоративный | 500 000+ | 16+ vCPU | 32+ ГБ | 200+ ГБ NVMe | Dedicated |
Установка стека LEMP
Стек LEMP (Linux + Nginx + MariaDB + PHP-FPM) обеспечивает наилучшую производительность для WordPress. Он использует меньше памяти, чем Apache, и поддерживает больше одновременных соединений.
# Обновить систему
sudo apt update && sudo apt upgrade -y
# Установить Nginx
sudo apt install nginx -y
# Установить MariaDB
sudo apt install mariadb-server mariadb-client -y
# Установить PHP и необходимые расширения
sudo apt install php8.2-fpm php8.2-mysql php8.2-xml php8.2-gd \
php8.2-curl php8.2-mbstring php8.2-zip php8.2-redis -y
Конфигурация пула PHP-FPM
[wordpress]
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
php_admin_value[memory_limit] = 256M
php_admin_value[upload_max_filesize] = 64M
php_admin_value[max_execution_time] = 300
Конфигурация Nginx и кэш FastCGI
fastcgi_cache_path /var/cache/nginx/wordpress
levels=1:2
keys_zone=WORDPRESS:100m
inactive=60m
max_size=1g;
server {
listen 443 ssl http2;
server_name example.com;
set $skip_cache 0;
if ($request_method = POST) { set $skip_cache 1; }
if ($http_cookie ~* "wordpress_logged_in") { set $skip_cache 1; }
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm-wordpress.sock;
include fastcgi_params;
fastcgi_cache WORDPRESS;
fastcgi_cache_valid 200 60m;
fastcgi_cache_bypass $skip_cache;
add_header X-FastCGI-Cache $upstream_cache_status;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
Объектный кэш Redis
sudo apt install redis-server -y
maxmemory 256mb
maxmemory-policy allkeys-lru
save ""
// Добавить в wp-config.php
define('WP_REDIS_HOST', '/var/run/redis/redis-server.sock');
define('WP_REDIS_PORT', 0);
Оптимизация MariaDB
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
query_cache_type = 1
query_cache_size = 64M
max_connections = 150
tmp_table_size = 64M
Конфигурация OPcache
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.jit=1255
opcache.jit_buffer_size=128M
Настройка CDN
CDN (сеть доставки контента) распределяет ваши статические файлы по серверам по всему миру, сокращая время загрузки.
Интеграция с Cloudflare
- Зарегистрируйтесь в Cloudflare и добавьте домен
- Перенесите DNS-записи в Cloudflare
- Установите режим SSL/TLS на «Full (Strict)»
- Установите плагин Cloudflare в WordPress
Конфигурация безопасности WordPress
define('DISALLOW_FILE_EDIT', true);
define('FORCE_SSL_ADMIN', true);
define('WP_DEBUG', false);
Для улучшения производительности WordPress сначала применяйте оптимизации с наибольшим эффектом: 1) OPcache, 2) кэш FastCGI, 3) объектный кэш Redis, 4) CDN. Эти четыре шага ускоряют большинство сайтов WordPress в 5-10 раз.
Связанные статьи
Деплой Node.js приложения: PM2 и Nginx
Полное руководство по развёртыванию Node.js приложений на VPS. Установка Node.js через nvm, менеджер процессов PM2, обратный прокси Nginx, SSL-сертификат и управление переменными окружения.
Деплой PHP приложения: LAMP и LEMP стек
Полное руководство по развёртыванию PHP приложений на VPS. Сравнение LAMP и LEMP, настройка Apache/Nginx + PHP-FPM + MySQL, конфигурация виртуальных хостов и управление версиями PHP.
Установка и оптимизация WordPress: руководство для VPS
Руководство по установке и оптимизации WordPress на VPS. Настройка LEMP стека, параметры wp-config.php, права доступа к файлам, SSL, оптимизация производительности OPcache и усиление безопасности.