✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Как настроить HHVM на Ubuntu VPS?

11

Мой первоначальный VPS (виртуальный частный сервер) имел только 512 МБ ОЗУ, 1 ядро ​​и 10-гигабайтный жесткий диск. Позже я обновился до 2 ядер, 1 ГБ ОЗУ и 20 ГБ жесткого диска из-за инцидента с нехваткой памяти. Однако несколько дней назад трафик вырос (большинство из них от ботов ), VPS еле справлялся, поэтому я снова обновился до 3 ядер и 2 ГБ ОЗУ.

Версия PHP на VPS — 5.5, поэтому он имеет встроенный ускоритель OpCache, который кэширует код операции PHP. Opcache представлен для замены APC (другого кэша PHP), который представляет собой проект с открытым исходным кодом, который в основном используется для ускорения кода PHP до версии 5.4.x или более ранних версий. HHVM работает аналогичным образом. Сначала он компилирует код PHP в сборку, а затем код сборки, если он найден и все еще действителен, будет выполняться без повторной интерпретации того же кода PHP. Эта идея очень похожа на платформу .NET, где языки .NET, такие как C#, переводятся и компилируются в машинный код компилятором во время выполнения (JIT = Just In Time). Вот почему приложения .NET сначала работают медленно, но позже имеют тенденцию ускоряться, потому что во время выполнения они компилируются в собственный код и кэшируются.

Конечно, есть и другие новые функции. Новый язык [Hack] основан на PHP. Мы знаем, что язык PHP является языком со свободным типом, что означает, что вам не нужно указывать тип (на самом деле нет способов сделать это явно) для любых переменных. Типы используются, когда это необходимо. Язык Hack — это язык постепенных типов, означающий, что при первом определении типа тип нельзя изменить. Это помогает продвигать надежный код и повышает эффективность разработки. Это довольно большая тема, которую следует представить в отдельном посте.

Установка HHVM в Linux (в моем случае Ubuntu) довольно проста.

root@uploadbeta:/var/www/helloacm.com/htdocs/hhvm# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:    Ubuntu 14.04.1 LTS Release:        14.04 Codename:       trusty

Вы можете загрузить предварительно скомпилированные двоичные файлы или исходный код и скомпилировать его локально. Следующие установки устанавливаются из предварительно скомпилированного бинарного репозитория.

wget -O -

Затем вы можете запустить следующую команду для настройки сервера apache или ngix.

/usr/share/hhvm/install_fastcgi.sh

Фактически, после установки hhvm вы можете использовать его в командной строке для выполнения исходного кода PHP, например:

hhvm hello-world.php

Параметры командной строки HHVM

Мы можем временно отключить сервер Apache:

sudo service apache2 stop

И запустите сервер hhvm, прослушивая порт 80 (поэтому вам нужно остановить другие серверы, которые прослушивают тот же порт):

hhvm -m server

Затем вы можете протестировать код PHP в браузере, который передается на сервер HHVM.

Если вы столкнулись с ошибкой 404 not found после установки и настройки, вам, возможно, потребуется добавить следующую строку в /etc/hhvm/server.ini.

hhvm.server.fix_path_info = true

И перезапустите hhvm с помощью sudo service hhvm restart.

Я тестировал и контролировал сервер некоторое время и, честно говоря, не заметил никакой разницы, вероятно, из-за незаметного трафика. Однако процессы, перечисленные командой htop, изменились с apache2 -k start на hhvm.

Мы также можем создать файл PHP со следующим содержимым и проверить, работает ли HHVM в браузере:

Сайты WordPress запускаются с использованием HHVM, но HHVM, похоже, не поддерживает кодировку GB2312 (и, возможно, другие), потому что она путается с символами. PHP – код фотогалереи показал пустую страницу с использованием HHVM, и я до сих пор не понял причину.

Я все же решил избавиться от HHVM, текущий пакет: Apache2 + PHP5.5 + Mysql вполне работает. Возможно, я верну HHVM в будущем, если на VPS снова будет большой трафик.

sudo service hhvm stop sudo apt-get remove hhvm

Нам нужно восстановить настройки apache2 после удаления HHVM.

sudo a2dismod proxy_fcgi sudo a2dismod proxy rm /etc/apache2/mods-enable/hhvm*.conf sudo service apache2 restart

Источник записи: helloacm.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее