Zoeken op website

Hoogwaardige HHVM en Nginx/Apache instellen met MariaDB op Debian/Ubuntu


HHVM staat voor HipHop Virtual Machine, is een open source virtuele machine gemaakt voor het uitvoeren van Hack (het is een programmeertaal voor HHVM) en PHP geschreven applicaties. HHVM gebruikt een last-minute compilatiepad om opmerkelijke prestaties te bereiken en tegelijkertijd de flexibiliteit te behouden waar PHP-programmeurs aan verslaafd zijn. Tot op heden heeft HHVM voor Facebook een meer dan 9x hogere doorvoersnelheid van http-verzoeken bereikt en een ruim 5x lager geheugengebruik (bij gebruik van weinig systeemgeheugen) voor Facebook vergeleken met de PHP-engine + APC (alternatieve PHP-cache ).

HHVM kan ook worden gebruikt in combinatie met een FastCGI-gebaseerde webserver zoals Nginx of Apache.

In deze tutorial zullen we de stappen bekijken voor het instellen van de Nginx/Apache webserver, MariaDB databaseserver en HHVM . Voor deze configuratie gebruiken we Ubuntu 15.04 (64-bit) omdat HHVM alleen op een 64-bit-systeem draait, hoewel Debian- en Linux Mint-distributies ook worden ondersteund.

Stap 1: Nginx en Apache Web Server installeren

1. Voer eerst een systeemupgrade uit om de lijst met opslagplaatsen bij te werken met behulp van de volgende opdrachten.


apt-get update && apt-get upgrade

2. Zoals ik al zei, kan HHVM worden gebruikt met zowel de Nginx als de Apache webserver. Het is dus jouw keuze welke webserver je gaat gebruiken, maar hier laten we je de installatie van beide webservers zien en hoe je ze kunt gebruiken met HHVM.

Nginx installeren

In deze stap installeren we de Nginx/Apache webserver vanuit de pakketrepository met behulp van de volgende opdracht.


apt-get install nginx

Apache installeren


apt-get install apache2

Op dit punt zou u naar de volgende URL moeten kunnen navigeren en kunt u de standaardpagina Nginx of Apache zien.


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

Apache-standaardpagina

Stap 2: MariaDB installeren en configureren

3. In deze stap installeren we MariaDB, omdat dit betere prestaties levert in vergelijking met MySQL.


apt-get install mariadb-client mariadb-server

4. Nadat MariaDB succesvol is geïnstalleerd, kunt u MariaDB starten en het rootwachtwoord instellen om de database te beveiligen:


systemctl start mysql
mysql_secure_installation

Beantwoord de volgende vragen door y of n te typen en op enter te drukken. Zorg ervoor dat u de instructies aandachtig leest voordat u de vragen beantwoordt.


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. Nadat u het root-wachtwoord voor MariaDB hebt ingesteld, kunt u verbinding maken met de MariaDB-prompt met het nieuwe root-wachtwoord.


mysql -u root -p

Stap 3: Installatie van HHVM

6. In deze fase zullen we HHVM installeren en configureren. U moet de HHVM repository toevoegen aan uw sources.list bestand en vervolgens moet u uw repositorylijst bijwerken met behulp van de volgende reeks opdrachten.


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

Belangrijk: vergeet niet DISTRIBUTION_VERSION te vervangen door uw Ubuntu distributieversie (d.w.z. helder, nauwkeurig of betrouwbaar .) en ook op Debian vervangen door jessie of wheezy. Op Linux Mint zijn de installatie-instructies hetzelfde, maar Petra is de enige momenteel ondersteunde distributie.

Nadat u de HHVM-repository hebt toegevoegd, kunt u deze eenvoudig installeren zoals weergegeven.


apt-get install -y hhvm

Als u HHVM installeert, wordt het nu opgestart, maar het is niet geconfigureerd om automatisch te starten bij de volgende systeemstart. Om automatisch starten bij de volgende keer opstarten in te stellen, gebruikt u de volgende opdracht.


update-rc.d hhvm defaults

Stap 4: Nginx/Apache configureren om met HHVM te praten

7. Nu zijn nginx/apache en HHVM onafhankelijk geïnstalleerd en actief, dus we moeten beide webservers configureren om met elkaar te praten. Het cruciale onderdeel is dat we nginx/apache moeten vertellen om alle PHP-bestanden door te sturen naar HHVM om ze uit te voeren.

Als je Nginx gebruikt, volg dan deze instructies zoals uitgelegd.

Standaard staat de nginx-configuratie onder /etc/nginx/sites-available/default en deze configuratie zoekt in /usr/share/nginx/html naar bestanden die moeten worden uitgevoerd, maar hij weet niet wat hij met PHP moet doen.

Om Nginx met HHVM te laten praten, moeten we het volgende include-script uitvoeren dat nginx correct zal configureren door een hhvm.conf aan het begin van de nginx-configuratie te plaatsen, zoals hierboven vermeld.

Dit script zorgt ervoor dat de nginx met elk bestand dat eindigt op .hh of .php praat en het via fastcgi naar HHVM stuurt.


/usr/share/hhvm/install_fastcgi.sh

Belangrijk: als je Apache gebruikt, is er nu geen configuratie nodig.

8. Vervolgens moet je /usr/bin/hhvm gebruiken om /usr/bin/php (php) op te geven door deze opdracht uit te voeren onderstaand.


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

Nadat alle bovenstaande stappen zijn voltooid, kunt u nu HHVM starten en testen.


systemctl start hhvm

Stap 5: HHVM testen met Nginx/Apache

9. Om te verifiëren dat hhvm werkt, moet je een hello.php-bestand maken in de hoofdmap van het nginx/apache-document.


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

Voeg het volgende fragment toe aan dit bestand.


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

en navigeer vervolgens naar de volgende URL en verifieer om “Hallo wereld“ te zien.


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

Als de “HHVM”-pagina verschijnt, betekent dit dat je helemaal klaar bent!

Conclusie

Deze stappen zijn heel gemakkelijk te volgen en ik hoop dat je deze tutorial nuttig vindt. Als je een foutmelding krijgt tijdens de installatie van een pakket, plaats dan een reactie en we zullen samen oplossingen vinden. En alle aanvullende ideeën zijn welkom.