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