Sette opp høyytelses HHVM og Nginx/Apache med MariaDB på Debian/Ubuntu


HHVM står for HipHop Virtual Machine, er en virtuell maskin med åpen kildekode laget for å kjøre Hack (det er et programmeringsspråk for HHVM) og PHPskrevne applikasjoner. HHVM bruker en kompileringsbane i siste øyeblikk for å oppnå bemerkelsesverdig ytelse samtidig som den beholder fleksibiliteten som PHP-programmerere er avhengige av. Til dags dato har HHVM oppnådd over en 9x økning i http-forespørselsgjennomstrømning og mer enn 5x kutt i minneutnyttelse (når den kjøres på lite systemminne) for Facebook sammenlignet med PHP-motoren + APC (Alternativ PHP Cache) ).

HHVM kan også brukes sammen med en FastCGI-basert nettserver som Nginx eller Apache.

I denne opplæringen skal vi se på trinnene for å sette opp Nginx/Apache nettserver, MariaDB databaseserver og HHVM . For dette oppsettet vil vi bruke Ubuntu 15.04 (64-bit) da HHVM kun kjører på 64-biters system, selv om Debian- og Linux Mint-distribusjoner også støttes.

Trinn 1: Installere Nginx og Apache Web Server

1. Gjør først en systemoppgradering for å oppdatere depotlisten ved hjelp av følgende kommandoer.


apt-get update && apt-get upgrade

2. Som jeg sa kan HHVM brukes med både Nginx og Apache nettserver. Så det er ditt valg hvilken webserver du skal bruke, men her vil vi vise deg både webserverinstallasjon og hvordan du bruker dem med HHVM.

Installerer Nginx

I dette trinnet vil vi installere Nginx/Apache-nettserveren fra pakkelageret ved å bruke følgende kommando.


apt-get install nginx

Installerer Apache


apt-get install apache2

På dette tidspunktet bør du kunne navigere til følgende URL, og du vil kunne se Nginx eller Apache standardside.


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

Apache standardside

Trinn 2: Installer og konfigurer MariaDB

3. I dette trinnet vil vi installere MariaDB, siden det gir bedre ytelse sammenlignet med MySQL.


apt-get install mariadb-client mariadb-server

4. Etter vellykket installasjon av MariaDB kan du starte MariaDB og angi root-passord for å sikre databasen:


systemctl start mysql
mysql_secure_installation

Svar på følgende spørsmål ved å skrive y eller n og trykk enter. Sørg for å lese instruksjonene nøye før du svarer på spørsmålene.


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. Etter å ha angitt root-passord for MariaDB, kan du koble til MariaDB-ledeteksten med det nye root-passordet.


mysql -u root -p

Trinn 3: Installasjon av HHVM

6. På dette stadiet skal vi installere og konfigurere HHVM. Du må legge til HHVM-repositoriet til sources.list-filen din, og deretter må du oppdatere repositorylisten ved å bruke følgende rekke kommandoer.


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

Viktig: Ikke glem å erstatte DISTRIBUTION_VERSION med Ubuntu-distribusjonsversjonen (dvs. klar, presis eller pålitelig .) og også på Debian erstattes med jessie eller wheezy. På Linux Mint er installasjonsinstruksjonene de samme, men petra er den eneste distribusjonen som støttes for øyeblikket.

Etter å ha lagt til HHVM-depot, kan du enkelt installere det som vist.


apt-get install -y hhvm

Installering av HHVM vil starte den opp nå, men den er ikke konfigurert til å starte automatisk ved neste systemoppstart. For å sette automatisk start ved neste oppstart, bruk følgende kommando.


update-rc.d hhvm defaults

Trinn 4: Konfigurere Nginx/Apache for å snakke med HHVM

7. Nå er nginx/apache og HHVM installert og kjører som uavhengige, så vi må konfigurere begge webserverne til å snakke med hverandre. Den avgjørende delen er at vi må fortelle nginx/apache å videresende alle PHP-filer til HHVM for å kjøre.

Hvis du bruker Nginx, følg denne instruksjonen som forklart.

Som standard lever nginx-konfigurasjonen under /etc/nginx/sites-available/default og disse konfigurasjonene ser i /usr/share/nginx/html for filer som skal kjøres, men den vet ikke hva den skal gjøre med PHP.

For å få Nginx til å snakke med HHVM, må vi kjøre følgende inkluderer-skript som vil konfigurere nginx riktig ved å plassere en hhvm.conf i begynnelsen av nginx-konfigurasjonen som nevnt ovenfor.

Dette skriptet får nginx til å snakke med en hvilken som helst fil som slutter med .hh eller .php og sende den til HHVM via fastcgi.


/usr/share/hhvm/install_fastcgi.sh

Viktig: Hvis du bruker Apache, er det ikke nødvendig med noen konfigurasjon nå.

8. Deretter må du bruke /usr/bin/hhvm for å gi /usr/bin/php (php) ved å kjøre denne kommandoen under.


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

Etter at alle trinnene ovenfor er utført, kan du nå starte HHVM og teste den.


systemctl start hhvm

Trinn 5: Testing av HHVM med Nginx/Apache

9. For å bekrefte at hhvm fungerer, må du opprette en hello.php-fil under nginx/apache-dokumentrotkatalogen.


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

Legg til følgende kodebit i denne filen.


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

og naviger deretter til følgende URL og bekreft for å se «hei verden».


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

Hvis «HHVM»-siden vises, betyr det at du er klar!

Konklusjon

Disse trinnene er veldig enkle å følge og håper du finner denne opplæringen nyttig, og hvis du får en feil under installasjonen av noen pakker, legg inn en kommentar, så finner vi løsninger sammen. Og andre ideer er velkomne.