Didelio našumo HHVM ir Nginx/Apache nustatymas su MariaDB Debian/Ubuntu


HHVM reiškia HipHop virtualioji mašina. Tai atvirojo kodo virtuali mašina, sukurta paleisti Hack (tai HHVM programavimo kalba) ir PHPrašomos programos. HHVM naudoja paskutinės minutės kompiliavimo kelią, kad pasiektų puikų našumą, išlaikant lankstumą, nuo kurio priklauso PHP programuotojai. Iki šiol HHVM pasiekė daugiau nei 9 kartus didesnį http užklausos pralaidumą ir daugiau nei 5 kartus sumažino atminties naudojimą (kai veikia mažai sistemos atminties) Facebook, palyginti su PHP varikliu + APC (alternatyvioji PHP talpykla). ).

HHVM taip pat gali būti naudojamas kartu su FastCGI pagrindu veikiančiu žiniatinklio serveriu, pvz., Nginx arba Apache.

Šioje mokymo programoje apžvelgsime Nginx/Apache žiniatinklio serverio, MariaDB duomenų bazės serverio ir HHVM nustatymo veiksmus. . Šiai sąrankai naudosime Ubuntu 15.04 (64 bitų), nes HHVM veikia tik 64 bitų sistemoje, nors palaikomi ir Debian bei Linux Mint platinimai.

1 veiksmas: „Nginx“ ir „Apache“ žiniatinklio serverio diegimas

1. Pirmiausia atnaujinkite sistemą, kad atnaujintumėte saugyklų sąrašą naudodami šias komandas.


apt-get update && apt-get upgrade

2. Kaip jau sakiau, HHVM galima naudoti tiek su Nginx, tiek su Apache žiniatinklio serveriu. Taigi, jūs pasirenkate, kurį žiniatinklio serverį naudosite, tačiau čia parodysime, kaip įdiegti žiniatinklio serverius ir kaip juos naudoti su HHVM.

Nginx diegimas

Atlikdami šį veiksmą, įdiegsime Nginx/Apache žiniatinklio serverį iš paketų saugyklos naudodami šią komandą.


apt-get install nginx

„Apache“ diegimas


apt-get install apache2

Šiuo metu turėtumėte galėti pereiti į šį URL ir matyti numatytąjį Nginx arba Apache puslapį.


http://localhost
OR
http://IP-Address
„Nginx“ numatytasis puslapis

„Apache“ numatytasis puslapis

2 veiksmas: įdiekite ir sukonfigūruokite „MariaDB“.

3. Atlikdami šį veiksmą įdiegsime MariaDB, nes ji užtikrina geresnį našumą, palyginti su MySQL.


apt-get install mariadb-client mariadb-server

4. Sėkmingai įdiegę MariaDB, galite paleisti MariaDB ir nustatyti pagrindinį slaptažodį, kad apsaugotumėte duomenų bazę:


systemctl start mysql
mysql_secure_installation

Atsakykite į šiuos klausimus įvesdami y arba n ir paspauskite enter. Prieš atsakydami į klausimus, būtinai atidžiai perskaitykite instrukcijas.


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. Nustatę MariaDB root slaptažodį, galite prisijungti prie MariaDB raginimo naudodami naują pagrindinį slaptažodį.


mysql -u root -p

3 veiksmas: HHVM diegimas

6. Šiame etape įdiegsime ir sukonfigūruosime HHVM. Turite pridėti HHVM saugyklą prie failo sources.list, tada turite atnaujinti saugyklos sąrašą naudodami šias komandas.


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

Svarbu: nepamirškite pakeisti DISTRIBUTION_VERSION Ubuntu platinimo versija (t. y. aiškia, tikslia arba patikima). .) ir Debian pakeiskite į jessie arba wheezy. Diegimo instrukcijos Linux Mint yra tokios pačios, tačiau šiuo metu petra yra vienintelis palaikomas platinimas.

Pridėję HHVM saugyklą galite lengvai ją įdiegti, kaip parodyta.


apt-get install -y hhvm

Įdiegus HHVM, jis bus paleistas dabar, bet nesukonfigūruotas automatiškai paleisti kitą sistemos įkrovą. Norėdami nustatyti automatinį paleidimą kito paleidimo metu, naudokite šią komandą.


update-rc.d hhvm defaults

4 veiksmas: „Nginx“/„Apache“ konfigūravimas, kad galėtumėte kalbėtis su HHVM

7. Dabar „nginx/apache“ ir „HHVM“ yra įdiegti ir veikia kaip nepriklausomi, todėl turime sukonfigūruoti abu žiniatinklio serverius, kad jie bendrautų vienas su kitu. Svarbiausia yra tai, kad turime nurodyti nginx/apache persiųsti visus PHP failus į HHVM vykdyti.

Jei naudojate Nginx, vadovaukitės šiomis instrukcijomis, kaip paaiškinta.

Pagal numatytuosius nustatymus nginx konfigūracija yra /etc/nginx/sites-available/default, o ši konfigūracija ieško failų, kuriuos reikia vykdyti, adresu /usr/share/nginx/html, bet jis nežino, ką daryti su PHP.

Kad „Nginx“ bendrautų su HHVM, turime paleisti toliau pateiktą įtraukimo scenarijų, kuris tinkamai sukonfigūruos „nginx“ įdėjus hhvm.conf nginx konfigūracijos pradžioje, kaip minėta aukščiau.

Šis scenarijus leidžia nginx kalbėtis su bet kokiu failu, kuris baigiasi .hh arba .php, ir išsiųsti jį į HHVM per fastcgi.


/usr/share/hhvm/install_fastcgi.sh

Svarbu: jei naudojate „Apache“, dabar nereikia jokios konfigūracijos.

8. Tada turite naudoti /usr/bin/hhvm, kad pateiktumėte /usr/bin/php (php), vykdydami šią komandą žemiau.


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

Atlikę visus anksčiau nurodytus veiksmus, dabar galite paleisti HHVM ir jį išbandyti.


systemctl start hhvm

5 veiksmas: HHVM testavimas naudojant Nginx/Apache

9. Norėdami patvirtinti, kad hhvm veikia, nginx/apache dokumento šakniniame kataloge turite sukurti hello.php failą.


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

Pridėkite šį fragmentą prie šio failo.


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

tada eikite į toliau pateiktą URL ir patvirtinkite, kad pamatytumėte „hello world“.


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

Jei rodomas puslapis HHVM, vadinasi, viskas paruošta!

Išvada

Šiuos veiksmus labai lengva atlikti ir tikimės, kad ši pamoka jums bus naudinga, o jei diegdami bet kokius paketus gausite klaidų, paskelbkite komentarą ir mes kartu rasime sprendimus. Ir bet kokios papildomos idėjos laukiamos.