Краткий ответ: Установите Nginx, PHP-FPM и MariaDB, затем создайте server block, который маршрутизирует запросы через try_files на index.php и передаёт PHP в FPM-сокет. Nginx отдаёт WordPress быстрее типичных конфигураций Apache и естественно сочетается с FastCGI-кешированием в дальнейшем.
Обзор
Nginx — самый популярный веб-сервер для самостоятельного хостинга WordPress: экономный к памяти, отличный на статике и простой в настройке. WordPress требует ровно одного особого правила — красивые permalinks через try_files. Эта статья даёт production-готовый server block для Ubuntu 22.04/24.04.
Что нужно иметь
- Установленный Nginx, плюс PHP-FPM и MariaDB.
- Файлы WordPress на месте и созданную базу (гайд по установке).
- A-запись домена, указывающую на VPS.
Пошаговая инструкция
- Создайте
/etc/nginx/sites-available/example.com:server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } location ~* \.(css|js|jpg|jpeg|png|gif|webp|svg|woff2)$ { expires 30d; access_log off; } location = /xmlrpc.php { deny all; } location ~ /\.(?!well-known) { deny all; } client_max_body_size 64m; } - Включите и перезагрузите:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx - Откройте сайт, завершите инсталлятор WordPress, если ещё не завершили, и выставьте permalinks в «Post name».
- Дальше HTTPS — SSL для WordPress — и подумайте о FastCGI-кеше страниц, когда сайт заработает (гайд по скорости).
Типичные проблемы
- 404 на всех страницах, кроме главной: нет строки
try_files— permalinks без неё не работают. - 502 Bad Gateway: путь FPM-сокета не совпадает с версией PHP — проверьте
ls /run/php/. - Большие загрузки падают: поднимите
client_max_body_sizeв Nginx Иupload_max_filesizeв PHP.
Когда обращаться в поддержку
Проблемы уровня платформы (VPS недоступен, сбои диска или сети) — к команде поддержки; конфигурация веб-сервера на неуправляемом VPS — ваша зона, и этот гайд плюс вывод nginx -t обычно точно указывают на проблему.
Частые вопросы
Зачем WordPress нужен try_files в Nginx?
Красивые permalinks — виртуальные URL без файла на диске; try_files отправляет их на index.php, чтобы WordPress маршрутизировал запрос — без него каждая внутренняя страница отдаёт 404.
Nginx лучше Apache для WordPress?
Nginx обычно потребляет меньше памяти и лучше держит статику и много одновременных соединений; Apache даёт гибкость .htaccess. На небольшом VPS стандартная рекомендация — Nginx + PHP-FPM.
Зачем блокировать xmlrpc.php в server block?
xmlrpc.php — частая цель brute-force и DDoS-амплификации; если вы не пользуетесь приложением Jetpack или удалённой публикацией, запрет на уровне веб-сервера дёшево убирает эту поверхность атаки.
Похожие статьи
- Как установить WordPress на VPS
- Как настроить SSL для WordPress
- Как ускорить WordPress на VPS
- Как установить WordPress с OpenLiteSpeed
Готовы начать? Заказать WordPress VPS в Cloud2Y →
