Postavljanje HHVM-a visokih performansi i Nginx/Apache s MariaDB na Debian/Ubuntu


HHVM je skraćenica od HipHop virtuelna mašina, virtuelna mašina otvorenog koda kreirana za pokretanje Hack (to je programski jezik za HHVM) i PHPpisane aplikacije. HHVM koristi putanju kompilacije u poslednjem trenutku kako bi postigao izvanredne performanse uz zadržavanje fleksibilnosti o kojoj su ovisni PHP programeri. Do danas, HHVM je postigao preko 9x povećanje protoka http zahtjeva i više od 5x smanjenje iskorištenosti memorije (kada radi na malo sistemske memorije) za Facebook u poređenju sa PHP motorom + APC (Alternativni PHP Cache) ).

HHVM se također može koristiti zajedno sa FastCGI-baziranim web serverom kao što je Nginx ili Apache.

U ovom vodiču ćemo pogledati korake za postavljanje Nginx/Apache web servera, MariaDB servera baze podataka i HHVM . Za ovu postavku koristit ćemo Ubuntu 15.04 (64-bitni) jer HHVM radi samo na 64-bitnom sistemu, iako su Debian i Linux Mint distribucije također podržane.

Korak 1: Instaliranje Nginx i Apache web servera

1. Prvo izvršite nadogradnju sistema da ažurirate listu spremišta uz pomoć sljedećih naredbi.


apt-get update && apt-get upgrade

2. Kao što sam rekao HHVM se može koristiti i sa Nginx i Apache web serverom. Dakle, vaš je izbor koji ćete web server koristiti, ali ovdje ćemo vam pokazati instalaciju oba web servera i kako ih koristiti sa HHVM-om.

Instalacija Nginxa

U ovom koraku ćemo instalirati Nginx/Apache web server iz spremišta paketa koristeći sljedeću naredbu.


apt-get install nginx

Instaliranje Apachea


apt-get install apache2

U ovom trenutku, trebali biste moći navigirati do sljedećeg URL-a i moći ćete vidjeti Nginx ili Apache zadanu stranicu.


http://localhost
OR
http://IP-Address
Nginx zadana stranica

Apache zadana stranica

Korak 2: Instalirajte i konfigurirajte MariaDB

3. U ovom koraku ćemo instalirati MariaDB, jer pruža bolje performanse u odnosu na MySQL.


apt-get install mariadb-client mariadb-server

4. Nakon uspješne instalacije MariaDB-a, možete pokrenuti MariaDB i postaviti root lozinku za osiguranje baze podataka:


systemctl start mysql
mysql_secure_installation

Odgovorite na sljedeća pitanja upisivanjem y ili n i pritisnite enter. Obavezno pažljivo pročitajte upute prije nego što odgovorite na pitanja.


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. Nakon postavljanja root lozinke za MariaDB, možete se povezati na MariaDB prompt s novom root lozinkom.


mysql -u root -p

Korak 3: Instalacija HHVM-a

6. U ovoj fazi ćemo instalirati i konfigurirati HHVM. Morate dodati HHVM spremište u vašu datoteku sources.list i tada morate ažurirati svoju listu spremišta koristeći sljedeće serije naredbi.


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

Važno: Ne zaboravite zamijeniti DISTRIBUTION_VERSION sa svojom Ubuntu distribucijskom verzijom (tj. lucidnom, preciznom ili pouzdanom .) i također na Debianu zamijeniti s jessie ili wheezy. Na Linux Mint uputstva za instalaciju su ista, ali petra je jedina trenutno podržana distribucija.

Nakon dodavanja HHVM spremišta, možete ga lako instalirati kao što je prikazano.


apt-get install -y hhvm

Instaliranjem HHVM-a će se pokrenuti sada, ali nije konfigurisan za automatsko pokretanje pri sljedećem pokretanju sistema. Za postavljanje automatskog pokretanja pri sljedećem pokretanju koristite sljedeću naredbu.


update-rc.d hhvm defaults

Korak 4: Konfiguriranje Nginx/Apachea za razgovor sa HHVM-om

7. Sada su nginx/apache i HHVM instalirani i rade kao nezavisni, tako da moramo konfigurirati oba web servera da međusobno razgovaraju. Ključni deo je da moramo da kažemo nginx/apache-u da prosledi sve PHP fajlove u HHVM da ih izvrši.

Ako koristite Nginx, slijedite ova uputstva kako je objašnjeno.

Podrazumevano, nginx konfiguracija živi pod /etc/nginx/sites-available/default i ova konfiguracija traži u /usr/share/nginx/html fajlove za izvršavanje, ali ne zna šta da radi sa PHP-om.

Da bi Nginx mogao razgovarati sa HHVM-om, moramo pokrenuti sljedeću skriptu za uključivanje koja će ispravno konfigurirati nginx postavljanjem hhvm.conf na početak nginx konfiguracije kao što je gore spomenuto.

Ova skripta čini da nginx razgovara sa bilo kojom datotekom koja se završava sa .hh ili .php i pošalje je na HHVM putem fastcgi-a.


/usr/share/hhvm/install_fastcgi.sh

Važno: Ako koristite Apache, sada nije potrebna nikakva konfiguracija.

8. Zatim morate koristiti /usr/bin/hhvm da omogućite /usr/bin/php (php) pokretanjem ove naredbe ispod.


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

Nakon što ste učinili sve gore navedene korake, sada možete pokrenuti HHVM i testirati ga.


systemctl start hhvm

Korak 5: Testiranje HHVM-a sa Nginx/Apacheom

9. Da biste potvrdili da hhvm radi, trebate kreirati datoteku hello.php u korijenskom direktoriju dokumenta nginx/apache.


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

Dodajte sljedeći isječak ovom fajlu.


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

a zatim idite na sljedeći URL i potvrdite da vidite „zdravo svijet“.


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

Ako se pojavi stranica “HHVM”, to znači da ste spremni!

Zaključak

Ove korake je vrlo lako pratiti i nadamo se da će vam ovaj vodič biti koristan i ako dobijete bilo kakvu grešku tokom instalacije bilo kojeg paketa, ostavite komentar i zajedno ćemo pronaći rješenja. I sve dodatne ideje su dobrodošle.