GNU/Linux >> Znalost Linux >  >> Debian

Vysvětlení HHVM – Nainstalujte HHVM na Ubuntu 16.04 / Debian 8

HHVM (HipHop Virtual Machine) je open-source virtuální stroj určený pro spouštění programů napsaných v Hacku a PHP. HHVM je vyvinut Facebookem a jeho zdrojové kódy jsou hostovány na Github; vydáno za podmínek licence PHP a Zend.

HHVM využívá princip kompilace JIT (just-in-time), která pomáhá dosahovat vynikajícího výkonu, aniž by byla ohrožena flexibilita vývoje, kterou PHP poskytuje. HHVM spouští PHP nebo Hack kód do přechodného bajtového kódu HipHop (HHBC) a poté dynamicky překládá do strojového kódu x86_64.

HHVM lze nainstalovat na většinu hlavních platforem Linuxu; také experimentální podpora pro Mac OS X 10.10 a probíhají práce na podpoře operačního systému Windows.

HHVM nabízí předpřipravené balíčky pro operační systémy Debian a Ubuntu.

Ubuntu 16.04 (Xenial)
Ubuntu 15.10 (Wily Werewolf)
Ubuntu 15.04 (Vivid)
Ubuntu 14.04 (Trusty)
Debian 8 (Jessie)
Debian 7 (Wheezy )

Můžete také sestavit ze zdroje pro jiné varianty linuxových distribucí.

Vydání:

HHVM aktivně vyvíjí Facebook a každých osm týdnů můžete získat plnou verzi (stabilní verzi). Každé třetí hlavní bodové vydání HHVM je považováno za vydání dlouhodobé podpory (LTS). LTS je podporováno téměř jeden rok a je doplněno o kritické opravy chyb a bezpečnostní záplaty.

Pokud máte stále dotazy, navštivte blogový příspěvek o vydáních LTS.

Tato příručka vám pomůže nastavit HHVM na Ubuntu 16.04 a Debian 8. Tato příručka by měla fungovat na předchozích verzích Ubuntu, jako je Ubuntu 15.10, Ubuntu 14.04 LTS, Ubuntu 15.04 a Debian 7.

Přidat úložiště HHVM:

Nyní přidejte na svůj počítač úložiště HHVM, než budete pokračovat v instalaci.

Debian:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449echo deb http://dl.hhvm.com/debian $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/hhvm.list

Ubuntu:

sudo apt-get install software-properties-commonsudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449sudo add-apt-repository "deb http://dl. hhvm.com/ubuntu $(lsb_release -sc) main"
PS:Pro Ubuntu nahraďte proměnnou „$(lsb_release -sc)“ kódovým názvem vašeho distra. Př.:xenial

Nainstalujte HHVM na Ubuntu 16.04 / Debian 8:

Aktualizujte mezipaměť úložiště a přejděte k instalaci HHVM, čímž se na váš počítač nainstaluje nejnovější verze HHVM.

sudo apt-get updatesudo apt-get install -y hhvm

Ověřte verzi HHVM.

$ php -vHipHop VM 3.15.0 (rel) Kompilátor:tags/HHVM-3.15.0-0-g92a682ebaa3c85b84857852d8621f528607fe27dRepo schéma:23248a49d416Test HHVM: 

Pro spuštění HHVM můžete jednoduše vyvolat příkaz. Server HHVM můžete ovládat pomocí dalších argumentů pomocí příkazu „hhvm“.

Pojďme vytvořit soubor PHP, který bude požadavek obsluhovat prostřednictvím webového prohlížeče ve vašem aktuálním pracovním adresáři.

vi test.php

Vložte níže uvedený obsah do výše uvedeného souboru.

Proveďte níže uvedený příkaz.

hhvm -m server -p 8080

-m představuje režim a zde označuje, že HHVM běží jako režim serveru HTTP
-p konfiguruje TCP port, který HHVM používá k naslouchání HTTP požadavkům.

Zjistěte více o režimech HHVM.

Přejděte ve svém webovém prohlížeči na níže uvedenou adresu URL.

http://ip-add-re-ss:8080/test.php

Níže byste měli vidět stránku, která potvrzuje, že HHVM funguje správně.

Typy serveru:

Typ serveru je klasifikován na základě toho, jak HHVM obsluhuje stránku pro požadavky uživatelů; má vestavěnou podporu pro typy serverů:Proxygen a FastCGI .

HHVM ProxyGen:

Proxygen mód je plnohodnotný webový server, zabudovaný přímo do HHVM. Je velmi snadné jej nastavit a spustit a rychle obsluhuje webové požadavky. Režim Porxygen poskytuje vysoce výkonný webový server ekvivalentní FastCGI a Nginx.

Jak jsem již řekl, konfigurační parametry jsou velmi jednoduché a snadno nastavitelné. Hlavní konfigurační soubor HHVM je /etc/hhvm/server.ini .

Upravte konfigurační soubor jako níže.

sudo vi /etc/hhvm/server.ini

Upravte konfigurace HHVM podle svých požadavků.

; konfiguruje port TCP, který HHVM používá k naslouchání HTTP requestům.hhvm.server.port =80; Konfiguruje server HHVM typehhvm.server.type =proxygen; Konfiguruje výchozí dokument pro adresářhhvm.server.default_document =index.php; Povolení Logshhvm.log.use_log_file =truehhvm.log.file =/var/log/hhvm/error.log; Konfiguruje chybový dokument pro adresářhhvm.server.error_document404 =index.php; Nastaví výchozí adresář pro webový server HHVM, když je spuštěnhhvm.server.source_root=/var/www/public

Spuštěním těchto příkazů můžete nastavit HHVM tak, aby se spustilo při bootování, a nyní jej spustit jako službu:

sudo update-rc.d hhvm defaultssudo service hhvm restart

Vytvořte adresář /var/www/public, který bude obsahovat dokumenty vašeho webu.

sudo mkdir -p /var/www/public

Vytvořte testovací soubor pro ověření, zda HHVM obsluhuje webové požadavky.

sudo vi /var/www/public/index.php

Vložte pod obsah do výše uvedeného souboru.

Přístup k webovému serveru HHVM prostřednictvím prohlížeče dle vašeho výběru.

http://ip-add-re-ss

Získáte stránku PHPInfo, kde najdete všechny informace o PHP.

HHVM FastCGI:

V tomto režimu je HHVM umístěn mezi vaším webovým dokumentem (.php ) a webový server (Apache nebo Nginx ). FastCGI poskytuje vysoký výkon při rychlém poskytování webových stránek, je velmi podobný PHP-FPM. HHVM naslouchá buď na TCP soketu (localhost:9000 ) nebo UNIX socket. Webový server (Nginx nebo Apache ) bude naslouchat na portu 80 nebo 443 pro webové požadavky.

Když přijde nový požadavek, webový server se buď připojí k HHVM, nebo znovu použije jedno z dříve otevřených připojení pomocí HHVM FastCGI. Jakmile je spojení navázáno, webový server poskytne HHVM informace, jako jsou záhlaví požadavků, tělo a cesta k souboru, který má být proveden. Nyní HHVM vypočítá přijaté informace a znovu je pošle zpět na webový server pomocí FastCGI. Nakonec webový server odešle klientovi odpověď s požadovanými údaji.

Apache:

Nainstalujte server Apache na váš počítač pomocí následujícího příkazu.

sudo apt-get install -y apache2

Spuštěním níže uvedených příkazů nastavíte Apache tak, aby spolupracoval s HHVM a obsluhoval webový požadavek.

sudo /usr/share/hhvm/install_fastcgi.sh

Ve výchozím nastavení bude Apache hledat webové stránky v /var/www/html adresář pro obsluhu požadavků, ale nemusí vědět, jak zacházet s .php soubory. Takže byste museli říci apache, aby vzal jakýkoli soubor, který končí na .hh nebo .php a odeslali jej do HHVM přes fastCGI.

Upravte níže uvedený konfigurační soubor.

sudo vi /etc/apache2/mods-enabled/hhvm_proxy_fcgi.conf

Nastavte to jako níže.

ProxyPassMatch ^/(.+\.(hh|php)(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1

Restartujte služby Apache a HHVM.

sudo /etc/init.d/apache2 restartsudo /etc/init.d/hhvm restart

Nginx:

Nainstalujte Nginx na váš počítač pomocí následujícího příkazu.

sudo apt-get install -y nginx

Spuštěním níže uvedených příkazů nastavíte Nginx tak, aby spolupracoval s HHVM a obsluhoval webový požadavek.

sudo /usr/share/hhvm/install_fastcgi.sh

Ve výchozím nastavení bude Nginx hledat webové stránky v/usr/share/nginx/htm l (závisí na OS) adresář pro obsluhu požadavků, ale nemusí vědět, jak zacházet s .php soubory. Takže byste nařídili Nginxu, aby vzal jakýkoli soubor, který končí na .hh nebo .php a odeslali jej do HHVM přes fastCGI.

Upravte níže uvedený konfigurační soubor.

sudo vi /etc/nginx/sites-available/default

Upravte pod řádkem, přidejte index.php do svého indexového řádku.

Od:

index index.html index.htm;

Komu:

index index.php index.html index.htm;

Restartujte služby Apache a HHVM.

sudo /etc/init.d/nginx restartsudo /etc/init.d/hhvm restart

Chcete-li otestovat typ FastCGI, vytvořte/umístěte soubor .php do výchozích adresářů.

Apache a Nginx Ubuntu 16.04, 15.04 / Debian 8:

$ sudo vi /var/www/html/index.php

Vložte pod obsah do výše uvedeného souboru.