✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як налаштувати HHVM на Ubuntu VPS?

6

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

Версія PHP у VPS становить 5.5, тому вона має вбудований прискорювач OpCache, який кешує код операції PHP. Opcache представлено на заміну APC (Another PHP Cache), який є проектом з відкритим вихідним кодом, який в основному використовується для прискорення 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 не знайдено, ймовірно, потрібно додати такий рядок до /etc/hhvm/server.ini

hhvm.server.fix_path_info = true

І перезапустіть hhvm за допомогою служби sudo 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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі