Гид по технологиям

Установка WordPress с Nginx, MariaDB и HHVM на Ubuntu 16.04 Server (64‑bit)

• 5 min read • Инфраструктура • Обновлено 19 Nov 2025
WordPress на HHVM + Nginx + MariaDB (Ubuntu 16.04)
WordPress на HHVM + Nginx + MariaDB (Ubuntu 16.04)

О кратком назначении HHVM

HHVM (Hip Hop Virtual Machine) — это JIT‑компилятор, разработанный Facebook для выполнения приложений на PHP и Hack. HHVM обычно быстрее классического движка Zend PHP и экономит память; по сравнению с Zend PHP 5.2 + APC в исходном материале отмечены значительные выигрыши по пропускной способности и использованию памяти. HHVM предназначен для ускорения PHP‑приложений на серверах с 64‑битной архитектурой.

Важно: HHVM поддерживается на 64‑битных системах, поэтому используйте Ubuntu 16.04 x86_64.

Предварительные требования

  • Сервер с Ubuntu 16.04 Server — 64‑бит.
  • У вас должен быть root‑доступ или возможность запускать sudo.

Что мы сделаем:

  • Установим Nginx.
  • Установим и настроим MariaDB.
  • Установим и настроим HHVM и подключим его к Nginx.
  • Установим WordPress и настроим права доступа.

Для всех команд предполагается работа от имени root. Чтобы стать root, выполните:

sudo -s

Установка Nginx

Nginx доступен в репозитории Ubuntu. Установите веб‑сервер так:

apt-get update  
apt-get install nginx

После завершения установки запустите Nginx:

systemctl start nginx

Теперь проверьте в браузере по IP сервера, например http://192.168.1.108/ (замените на ваш IP).

Запущен Nginx — стартовая страница сервера

Установка и настройка MariaDB

В этом руководстве используется MariaDB как замена MySQL. MariaDB — форк MySQL, поддерживаемый оригинальными разработчиками.

Установите MariaDB:

apt-get install mariadb-client mariadb-server

Запустите сервис (служба MariaDB называется mysql):

systemctl start mysql

Сделайте первичную безопасную настройку — установите пароль root и удалите тестовые записи:

mysql_secure_installation

В интерактивном скрипте примерно так:

Enter current password for root (enter for none): PRESS ENTER

Set root password? [Y/n] Y
ENTER YOUR PASSWORD

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Затем войдите в консоль MariaDB:

mysql -u root -p  
  
TYPE YOUR PASSWORD

Создайте базу данных wordpressdb и пользователя wpuser. Замените ‘wpuser@’ на надёжный пароль:

create database wordpressdb;  
create user wpuser@localhost identified by 'wpuser@';  
grant all privileges on wordpressdb.* to wpuser@localhost identified by 'wpuser@';  
flush privileges;  
\q

Создание базы данных WordPress и пользователя в MariaDB

Совет: используйте надёжный уникальный пароль и безопасно храните его.

Установка и настройка HHVM

Добавьте репозиторий HHVM и обновите список пакетов:

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add -  
echo deb http://dl.hhvm.com/ubuntu xenial main | sudo tee /etc/apt/sources.list.d/hhvm.list  
apt-get update

Установите HHVM:

apt-get install -y hhvm

Подключите HHVM к Nginx как FastCGI (выполняется установочный скрипт поставки):

/usr/share/hhvm/install_fastcgi.sh

Включите автозапуск HHVM при загрузке:

update-rc.d hhvm defaults

Настройте альтернативу /usr/bin/php чтобы hhvm использовался вместо php-cli (если необходимо):

/usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60

Запустите HHVM:

systemctl start hhvm

Тестирование HHVM через веб и консоль

Создайте файл info.php в /var/www/html/:

cd /var/www/html/  
nano info.php

Добавьте:

Отредактируйте виртуальный хост Nginx — файл /etc/nginx/sites-available/default и добавьте index.php в директиву index:

vim /etc/nginx/sites-available/default

Добавьте или обновите строку:

index index.php index.html index.htm index.nginx-debian.html;

Сохраните файл и перезапустите Nginx при необходимости.

Откройте в браузере http://192.168.1.108/info.php — если на странице виден HHVM или HipHop, значит соединение работает.

Информация phpinfo() — HHVM

Проверьте в консоли:

php info.php  
php -v

Первая команда должна вывести страницу phpinfo() с упоминанием HipHop, вторая — показать версию HHVM.

Установка WordPress

Скачайте и распакуйте WordPress в /var/www/html/:

cd /var/www/html/  
wget wordpress.org/latest.zip  
unzip latest.zip

Переместите файлы из директории wordpress в корень и удалите временную папку:

cd /var/www/html/  
mv wordpress/* .  
rm -rf wordpress/

Измените владельца файлов на www‑data (пользователь и группа), чтобы веб‑сервер мог записывать в директории:

find . -type d -exec chown www-data:www-data {} \;  
find . -type f -exec chown www-data:www-data {} \;

Переименуйте wp-config-sample.php в wp-config.php и внесите параметры базы данных (имя базы, пользователь, пароль):

mv wp-config-sample.php wp-config.php  
nano wp-config.php

Пример параметров в файле wp-config.php:

DB_NAME = wordpressdb
DB_USER = wpuser
DB_PASSWORD = wpuser@

Настройка данных базы данных в wp-config.php

Перезапустите Nginx:

systemctl restart nginx

Откройте IP сервера в браузере, например http://192.168.1.108/ — вы должны увидеть инсталлятор WordPress. Выберите язык установки и нажмите Продолжить.

Выбор языка установки WordPress

Заполните учетные данные администратора (имя пользователя, пароль, email) и нажмите Установить WordPress.

Указание имени пользователя и пароля администратора WordPress

После завершения установки войдите в систему: http://192.168.1.108/wp-login.php

Страница входа в WordPress

Вы попадёте в панель администратора WordPress (Dashboard).

Панель управления WordPress (Dashboard)

Или посетите главную страницу сайта: http://192.168.1.108/.

Главная страница WordPress

Проверка работоспособности и базовые тесты

Критерии приёмки

  • Страница info.php отображает секцию, связанную с HHVM/HipHop.
  • Инсталлятор WordPress успешно завершает настройку базы данных.
  • Панель администратора WordPress доступна и позволяет авторизоваться.
  • Nginx обслуживает PHP‑запросы через HHVM без ошибок 502/504.

Мини‑тесты (выполнить от root):

curl -I http://127.0.0.1/info.php
php -v
systemctl status hhvm
systemctl status nginx
mysql -u wpuser -p -D wordpressdb -e "SHOW TABLES;"

Если ответы положительны и таблицы WordPress присутствуют, установку можно считать успешной.

Проблемы и способы диагностики

  • Ошибка 502 Bad Gateway при обращении к PHP: проверьте, запущен ли hhvm и корректно ли настроен сокет/порт в конфигурации Nginx.
  • Неправильные права доступа: убедитесь, что www‑data владеет файлами WordPress и что директории для загрузок доступны.
  • Неправильный пароль БД: проверьте wp-config.php и попытайтесь подключиться к БД вручную с указанными учётными данными.

Команды для отладки:

systemctl status hhvm --no-pager
journalctl -u hhvm -n 200
tail -n 200 /var/log/nginx/error.log
tail -n 200 /var/log/mysql/error.log

Важно: при изменении конфигураций Nginx или HHVM перезапускайте соответствующие сервисы.

Альтернативные подходы и когда HHVM может не подойти

  • Альтернатива: использовать традиционный стек Nginx + PHP‑FPM (особенно PHP 7.x/8.x), который поддерживается шире и проще интегрируется с большинством модулей WordPress.
  • Когда HHVM не подойдёт: если вы используете плагины или расширения, специально рассчитанные на лексику и поведение PHP‑движка, которые не полностью совместимы с HHVM, может возникнуть несовместимость.
  • Миграция: для современных инсталляций WordPress чаще выбирают актуальные версии PHP‑FPM из-за поддерживаемости и совместимости.

Чек‑лист администратора (операции)

  • Обновить систему: apt-get update && apt-get upgrade
  • Установить и запустить Nginx
  • Установить MariaDB и настроить root‑пароль
  • Создать БД и пользователя для WordPress
  • Установить HHVM и подключить к Nginx
  • Скопировать файлы WordPress и выставить права www‑data
  • Настроить wp-config.php и проверить работу сайта
  • Настроить резервное копирование базы и файлов

Рекомендации по безопасности

  • Используйте надёжные пароли для MariaDB и учётной записи администратора WordPress.
  • Закройте удалённый доступ к root MariaDB, если он не требуется.
  • Настройте брандмауэр (ufw) для ограничения доступа по нужным портам (80/443).
  • Подумайте о добавлении SSL (Let’s Encrypt) и редиректе с HTTP на HTTPS.

Краткое руководство по откату (rollback)

  1. Если после установки HHVM сайт перестал работать, временно переключитесь обратно на php‑cli/php‑fpm, изменив update‑alternatives или конфигурацию Nginx для использования сокета PHP‑FPM.
  2. Откат конфигураций Nginx: восстановите ранее сохранённый файл /etc/nginx/sites-available/default и перезапустите nginx.
  3. Если база повреждена, восстановите дамп БД из резервной копии.

Заключение

HHVM позволяет ускорить выполнение PHP‑приложений и снизить потребление памяти на серверах с 64‑битной архитектурой. В этом руководстве вы узнали, как установить Nginx, MariaDB и HHVM, подключить HHVM к Nginx и развёрнуть WordPress. Для современных сценариев следует оценить совместимость плагинов и поддерживаемость, прежде чем использовать HHVM в продакшене.

Важно: проверяйте совместимость ваших плагинов и тем с HHVM и проводите полное тестирование перед переводом в рабочую среду.

Сводка

  • Установлены Nginx, MariaDB, HHVM и WordPress.
  • HHVM интегрирован как FastCGI для Nginx.
  • Проверки в браузере и консоли подтверждают работоспособность.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро