Vyhledávání na webu

Nastavení vysoce výkonného HHVM a Nginx/Apache s MariaDB na Debian/Ubuntu


HHVM je zkratka pro HipHop Virtual Machine, je to open source virtuální stroj vytvořený pro spouštění Hack (je to programovací jazyk pro HHVM) a PHPpsané aplikace. HHVM využívá cestu kompilace na poslední chvíli k dosažení pozoruhodného výkonu při zachování flexibility, na které jsou programátoři PHP závislí. K dnešnímu dni dosáhlo HHVM více než 9násobného zvýšení propustnosti požadavků http a více než 5násobného snížení využití paměti (při běhu s nízkou systémovou pamětí) pro Facebook ve srovnání s enginem PHP + APC (Alternative PHP Cache ).

HHVM lze také použít spolu s webovým serverem založeným na FastCGI, jako je Nginx nebo Apache.

V tomto tutoriálu se podíváme na kroky pro nastavení webového serveru Nginx/Apache, databázového serveru MariaDB a HHVM . Pro toto nastavení použijeme Ubuntu 15.04 (64bitový), protože HHVM běží pouze na 64bitovém systému, ačkoli jsou podporovány i distribuce Debian a Linux Mint.

Krok 1: Instalace Nginx a webového serveru Apache

1. Nejprve proveďte upgrade systému a aktualizujte seznam úložišť pomocí následujících příkazů.


apt-get update && apt-get upgrade

2. Jak jsem řekl HHVM lze použít s webovým serverem Nginx i Apache. Je tedy na vás, který webový server budete používat, ale zde vám ukážeme jak instalaci webových serverů, tak i jejich použití s HHVM.

Instalace Nginx

V tomto kroku nainstalujeme webový server Nginx/Apache z úložiště balíčků pomocí následujícího příkazu.


apt-get install nginx

Instalace Apache


apt-get install apache2

V tomto okamžiku byste měli být schopni přejít na následující adresu URL a uvidíte výchozí stránku Nginx nebo Apache.


http://localhost
OR
http://IP-Address
Výchozí stránka Nginx

Výchozí stránka Apache

Krok 2: Nainstalujte a nakonfigurujte MariaDB

3. V tomto kroku nainstalujeme MariaDB, protože poskytuje lepší výkon ve srovnání s MySQL.


apt-get install mariadb-client mariadb-server

4. Po úspěšné instalaci MariaDB můžete spustit MariaDB a nastavit heslo root pro zabezpečení databáze:


systemctl start mysql
mysql_secure_installation

Odpovězte na následující otázky zadáním y nebo n a stiskněte klávesu Enter. Než odpovíte na otázky, přečtěte si pozorně pokyny.


Enter current password for root (enter for none) = press enter
Set root password? [Y/n] = y
Remove anonymous users[y/n] = y
Disallow root login remotely[y/n] = y
Remove test database and access to it [y/n] = y
Reload privileges tables now[y/n] = y 

5. Po nastavení hesla root pro MariaDB se můžete připojit k výzvě MariaDB s novým heslem root.


mysql -u root -p

Krok 3: Instalace HHVM

6. V této fázi nainstalujeme a nakonfigurujeme HHVM. Musíte přidat úložiště HHVM do svého souboru sources.list a poté musíte aktualizovat seznam úložiště pomocí následujících sérií příkazů.


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

Důležité: Nezapomeňte nahradit DISTRIBUTION_VERSION svou distribuční verzí Ubuntu (tj. přehlednou, přesnou nebo důvěryhodnou .) a také v Debianu nahraďte jessie nebo wheezy. Pokyny k instalaci na Linux Mint jsou stejné, ale petra je jediná aktuálně podporovaná distribuce.

Po přidání úložiště HHVM jej můžete snadno nainstalovat, jak je znázorněno.


apt-get install -y hhvm

Instalace HHVM jej nyní spustí, ale není nakonfigurován na automatické spuštění při příštím spuštění systému. Chcete-li nastavit automatické spuštění při příštím spuštění, použijte následující příkaz.


update-rc.d hhvm defaults

Krok 4: Konfigurace Nginx/Apache pro komunikaci s HHVM

7. Nyní jsou nginx/apache a HHVM nainstalovány a běží jako nezávislé, takže musíme nakonfigurovat oba webové servery, aby spolu mluvily. Klíčovou částí je, že musíme říci nginx/apache, aby předal všechny soubory PHP do HHVM, aby je provedl.

Pokud používáte Nginx, postupujte podle vysvětlených pokynů.

Ve výchozím nastavení se konfigurace nginx nachází pod /etc/nginx/sites-available/default a tato konfigurace hledá v /usr/share/nginx/html soubory ke spuštění, ale neví, co dělat s PHP.

Aby Nginx mohl komunikovat s HHVM, musíme spustit následující skript pro začlenění, který nakonfiguruje nginx správně umístěním hhvm.conf na začátek konfigurace nginx, jak je uvedeno výše.

Tento skript umožňuje nginx mluvit s jakýmkoli souborem, který končí na .hh nebo .php, a odesílat jej do HHVM přes fastcgi.


/usr/share/hhvm/install_fastcgi.sh

Důležité: Pokud používáte Apache, není nyní potřeba žádná konfigurace.

8. Dále musíte pomocí /usr/bin/hhvm zadat /usr/bin/php (php) spuštěním tohoto příkazu níže.


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

Po provedení všech výše uvedených kroků můžete nyní spustit HHVM a otestovat jej.


systemctl start hhvm

Krok 5: Testování HHVM pomocí Nginx/Apache

9. Chcete-li ověřit, že hhvm funguje, musíte vytvořit soubor hello.php v kořenovém adresáři dokumentů nginx/apache.


nano /usr/share/nginx/html/hello.php       [For Nginx]
OR
nano /var/www/html/hello.php               [For Nginx and Apache]

Přidejte do tohoto souboru následující fragment.


<?php
if (defined('HHVM_VERSION')) {
echo 'HHVM is working';
 phpinfo();
}
else {
echo 'HHVM is not working';
}
?>

a poté přejděte na následující adresu URL a ověřte, zda se zobrazí „ahoj světe“.


http://localhost/info.php
OR
http://IP-Address/info.php

Pokud se zobrazí stránka „HHVM“, znamená to, že je vše připraveno!

Závěr

Tyto kroky lze velmi snadno sledovat a doufáme, že tento návod shledáte užitečným, a pokud se během instalace jakýchkoli balíčků objeví nějaká chyba, napište komentář a společně najdeme řešení. A jakékoli další nápady jsou vítány.