WordPress на VPS с нуля: nginx + PHP + MariaDB
Свой VPS под WordPress — это полный контроль, скорость и никаких лимитов shared-хостинга. Соберём боевой стек LEMP, поставим движок, выпустим бесплатный SSL и закроем базовую безопасность. Всё командами, которые можно копировать.
Содержание
Устанавливаем nginx, PHP и MariaDB
['Обновляемся и ставим веб-сервер, PHP-FPM с нужными расширениями и базу данных.', 'apt update && apt upgrade -y\napt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-imagick -y', 'Запускаем сервисы в автозагрузку:', 'systemctl enable --now nginx mariadb php8.2-fpm', 'Для WordPress на тарифах MAATRIX хватает базового плана: AMD EPYC + NVMe тянут блог и небольшой магазин без тормозов даже при десятках плагинов.']
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для WordPressСоздаём базу данных
['Сначала защищаем MariaDB интерактивным скриптом (задайте root-пароль, удалите тестовую базу):', 'mysql_secure_installation', 'Создаём базу и пользователя под WordPress:', 'mysql -u root -p', "CREATE DATABASE wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'СложныйПароль123';\nGRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;"]
Скачиваем и распаковываем WordPress
['Забираем последнюю версию движка прямо в корень сайта:', 'cd /var/www\ncurl -O https://wordpress.org/latest.tar.gz\ntar -xzf latest.tar.gz\nchown -R www-data:www-data /var/www/wordpress\nchmod -R 755 /var/www/wordpress']
Конфиг nginx для WordPress
['Создаём/etc/nginx/sites-available/wordpress с обработкой PHP и постоянных ссылок:', 'server {\n listen 80;\n server_name ваш-домен.ru www.ваш-домен.ru;\n root /var/www/wordpress;\n index index.php;\n\n location / {\n try_files $uri $uri/ /index.php?$args;\n }\n\n location ~ \\.php$ {\n include snippets/fastcgi-php.conf;\n fastcgi_pass unix:/run/php/php8.2-fpm.sock;\n }\n\n location ~ /\\.ht {\n deny all;\n }\n}', 'Активируем сайт и перезагружаем nginx:', 'ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/\nnginx -t && systemctl reload nginx']
Бесплатный SSL и завершение установки
["Ставим certbot и выпускаем сертификат Let's Encrypt — он же настроит редирект на HTTPS:", 'apt install certbot python3-certbot-nginx -y\ncertbot --nginx -d ваш-домен.ru -d www.ваш-домен.ru', 'Теперь открываем сайт в браузере и проходим мастер установки: язык, название, логин администратора и данные базы (wp_db, wp_user).', '- Совет: не используйте логин admin — это первое, что перебирают боты.
- Проверьте автопродление сертификата:
certbot renew --dry-run. - Ежедневные бэкапы MAATRIX страхуют на случай неудачного обновления плагина.
Оптимизация и базовая защита
['Свежий WordPress работает быстро, но пара штрихов делает его заметно отзывчивее. Включите OPcache — он кэширует скомпилированный PHP и снимает нагрузку с процессора. В файле/etc/php/8.2/fpm/conf.d/10-opcache.ini:', 'opcache.enable=1\nopcache.memory_consumption=192\nopcache.max_accelerated_files=15000\nopcache.revalidate_freq=2', 'systemctl restart php8.2-fpm', 'Дальше — безопасность. Запретите выполнение PHP в каталоге загрузок, куда чаще всего пытаются залить бэкдор через уязвимый плагин. Добавьте в server-блок nginx:', 'location ~* /wp-content/uploads/.*\\.php$ {\n deny all;\n}', 'И ограничьте доступ к панели входа, если админитесь с одного адреса — так брутфорс просто не достучится до wp-login.php. Плюс поставьте лимит попыток входа плагином или через fail2ban. Эти три меры закрывают большинство типовых атак на WordPress.', '- Регулярно обновляйте ядро, темы и плагины — устаревший плагин самая частая дыра.
- Ежедневные бэкапы MAATRIX дают точку отката, если обновление всё же что-то сломает.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для WordPressЧастые вопросы
Nginx или Apache для WordPress?
Для скорости и экономии памяти лучше nginx + PHP-FPM: он держит больше одновременных посетителей на том же железе. Apache проще из-за .htaccess, но тяжелее.
Сколько ресурсов нужно?
Блог или визитка комфортно живут на 1-2 ГБ RAM. Для магазина на WooCommerce берите от 2-4 ГБ и NVMe-диск, чтобы каталог и корзина не тормозили.
Как перенести существующий сайт?
Скопируйте каталог wp-content и дамп базы через mysqldump, затем поправьте URL в базе. Мы разбираем это в отдельной статье по миграции.