Коротка відповідь: Встановіть 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 Голосів)