Краткий ответ: Установите 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.

Что нужно иметь

Пошаговая инструкция

  1. Создайте /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;
    }
  2. Включите и перезагрузите:
    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
    sudo nginx -t && sudo systemctl reload nginx
  3. Откройте сайт, завершите инсталлятор WordPress, если ещё не завершили, и выставьте permalinks в «Post name».
  4. Дальше 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 в Cloud2Y →

Помог ли вам данный ответ? 0 Пользователи нашли это полезным (0 голосов)