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.