High-Performance HHVM an Nginx/Apache mat MariaDB op Debian/Ubuntu opsetzen


HHVM steet fir HipHop Virtual Machine, ass eng Open Source virtuell Maschinn erstallt fir Hack ze lafen (et ass eng Programméierungssprooch fir HHVM) a PHP schrëftlech Uwendungen. HHVM benotzt e Last-Minute Kompiléierungswee fir bemierkenswäert Leeschtung z'erreechen wärend d'Flexibilitéit behalen, op déi PHP Programméierer süchteg sinn. Bis haut huet HHVM iwwer eng 9x Erhéijung vum http-Ufro-Duerchgang erreecht a méi wéi 5x an der Erënnerungsnotzung geschnidde (wann Dir op niddereg Systemspeicher leeft) fir Facebook am Verglach mam PHP-Motor + APC (Alternativ PHP Cache).

HHVM kann och zesumme mat engem FastCGI-baséierte Webserver wéi Nginx oder Apache benotzt ginn.

An dësem Tutorial wäerte mir d'Schrëtt kucken fir den Nginx/Apache Webserver, MariaDB Datebankserver an HHVM opzestellen. Fir dëse Setup benotze mir Ubuntu 15.04 (64-Bit) well HHVM nëmmen op 64-Bit System leeft, obwuel Debian a Linux Mint Verdeelungen och ënnerstëtzt ginn.

Schrëtt 1: Nginx an Apache Web Server installéieren

1. Fir d'éischt e System Upgrade ze aktualiséieren Repository Lëscht mat der Hëllef vun de folgende Kommandoen.

# apt-get update && apt-get upgrade

2. Wéi ech gesot hunn HHVM ka mat Nginx an Apache Webserver benotzt ginn. Also, et ass Äre Choix wéi ee Webserver Dir wäert benotzen, awer hei weisen mir Iech béid Webserverinstallatioun a wéi Dir se mat HHVM benotzt.

An dësem Schrëtt installéiere mir den Nginx/Apache Webserver vum Package Repository mat dem folgenden Kommando.

# apt-get install nginx
# apt-get install apache2

Zu dësem Zäitpunkt sollt Dir fäeg sinn op déi folgend URL ze navigéieren an Dir kënnt Nginx oder Apache Standard Säit gesinn.

http://localhost
OR
http://IP-Address

Schrëtt 2: Installéieren a konfiguréieren MariaDB

3. An dësem Schrëtt wäerte mir MariaDB installéieren, well et bitt besser Leeschtung am Verglach zu MySQL.

# apt-get install mariadb-client mariadb-server

4. No der erfollegräicher Installatioun vun der MariaDB kënnt Dir MariaDB starten a Root Passwuert setzen fir d'Datebank ze sécheren:

# systemctl start mysql
# mysql_secure_installation

Beäntwert déi folgend Froen andeems Dir y oder n tippt an dréckt Enter. Gitt sécher datt Dir d'Instruktioune virsiichteg liest ier Dir d'Froen beäntwert.

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. Nodeems Dir Root Passwuert fir MariaDB gesat hutt, kënnt Dir mat der MariaDB Prompt mat dem neie Root Passwuert verbannen.

# mysql -u root -p

Schrëtt 3: Installatioun vun HHVM

6. Op dëser Etapp wäerte mir HHVM installéieren a konfiguréieren. Dir musst den HHVM Repository op Är sources.list Datei addéieren an da musst Dir Är Repository Lëscht mat der folgender Serie vu Kommandoen aktualiséieren.

# 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

Wichteg: Vergiesst net DISTRIBUTION_VERSION mat Ärer Ubuntu Verdeelungsversioun ze ersetzen (dh kloer, präzis oder vertrauenswürdeg.) an och op Debian ersetzen mat jessie oder wheezy. Op Linux Mint Installatiounsinstruktiounen sinn d'selwecht, awer petra ass déi eenzeg aktuell ënnerstëtzt Verdeelung.

Nodeems Dir HHVM Repository bäigefüügt hutt, kënnt Dir et einfach installéieren wéi gewisen.

# apt-get install -y hhvm

Installéiere vun HHVM fänkt et elo un, awer et ass net konfiguréiert fir automatesch beim nächste Systemboot ze starten. Fir den Autostart beim nächste Boot ze setzen, benotzt de folgende Kommando.

# update-rc.d hhvm defaults

Schrëtt 4: Nginx/Apache konfiguréieren fir mam HHVM ze schwätzen

7. Elo sinn nginx/apache an HHVM installéiert a lafen als onofhängeg, also musse mir béid Webserver konfiguréieren fir mateneen ze schwätzen. Deen entscheedende Bestanddeel ass datt mir nginx/Apache musse soen fir all PHP Dateien op HHVM weiderzebréngen fir auszeféieren.

Wann Dir Nginx benotzt, befollegt dës Instruktioune wéi erkläert.

Par défaut lieft d'nginx Konfiguratioun ënner /etc/nginx/sites-available/default an dës Konfiguratioun kuckt an /usr/share/nginx/html fir Dateien auszeféieren, awer et weess net wat mat PHP ze maachen.

Fir Nginx ze maachen fir mat HHVM ze schwätzen, musse mir de folgende Skript ausféieren deen den nginx korrekt konfiguréiert andeems en hhvm.conf am Ufank vun der nginx Config plazéiert wéi uewen erwähnt.

Dëse Skript mécht den nginx fir mat all Datei ze schwätzen deen mat .hh oder .php endet an et op HHVM iwwer fastcgi schéckt.

# /usr/share/hhvm/install_fastcgi.sh

Wichteg: Wann Dir Apache benotzt, gëtt et elo keng Konfiguratioun gebraucht.

8. Als nächst musst Dir /usr/bin/hhvm benotzen fir /usr/bin/php (php) ze bidden andeems Dir dëse Kommando hei drënner leeft.

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

Nodeems all déi uewe genannte Schrëtt gemaach sinn, kënnt Dir elo HHVM starten an et testen.

# systemctl start hhvm

Schrëtt 5: Testen HHVM mat Nginx/Apache

9. Fir z'iwwerpréiwen datt hhvm funktionnéiert, musst Dir eng hello.php Datei ënner nginx/apache Dokument Root Verzeechnes erstellen.

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

Füügt de folgenden Ausschnëtt op dës Datei.

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

a navigéiert dann op déi folgend URL a verifizéiert fir Hallo Welt ze gesinn.

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

Wann HHVM Säit erschéngt, dann heescht et datt Dir alles fäerdeg sidd!

Conclusioun

Dës Schrëtt si ganz einfach ze verfollegen an hoffen datt Dir dësen Tutorial nëtzlech fannt a wann Dir e Feeler wärend der Installatioun vu Packagen kritt, post e Kommentar a mir fanne Léisunge zesummen. An all zousätzlech Iddien si wëllkomm.