Установка WordPress с Nginx, MariaDB и HHVM на Ubuntu 16.04 Server (64‑bit)
О кратком назначении 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).

Установка и настройка 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
Совет: используйте надёжный уникальный пароль и безопасно храните его.
Установка и настройка 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, значит соединение работает.

Проверьте в консоли:
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@
Перезапустите Nginx:
systemctl restart nginxОткройте IP сервера в браузере, например http://192.168.1.108/ — вы должны увидеть инсталлятор WordPress. Выберите язык установки и нажмите Продолжить.

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

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

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

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

Проверка работоспособности и базовые тесты
Критерии приёмки
- Страница 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)
- Если после установки HHVM сайт перестал работать, временно переключитесь обратно на php‑cli/php‑fpm, изменив update‑alternatives или конфигурацию Nginx для использования сокета PHP‑FPM.
- Откат конфигураций Nginx: восстановите ранее сохранённый файл /etc/nginx/sites-available/default и перезапустите nginx.
- Если база повреждена, восстановите дамп БД из резервной копии.
Заключение
HHVM позволяет ускорить выполнение PHP‑приложений и снизить потребление памяти на серверах с 64‑битной архитектурой. В этом руководстве вы узнали, как установить Nginx, MariaDB и HHVM, подключить HHVM к Nginx и развёрнуть WordPress. Для современных сценариев следует оценить совместимость плагинов и поддерживаемость, прежде чем использовать HHVM в продакшене.
Важно: проверяйте совместимость ваших плагинов и тем с HHVM и проводите полное тестирование перед переводом в рабочую среду.
Сводка
- Установлены Nginx, MariaDB, HHVM и WordPress.
- HHVM интегрирован как FastCGI для Nginx.
- Проверки в браузере и консоли подтверждают работоспособность.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента