Twaqqif ta' HHVM ta' Prestazzjoni Għolja u Nginx/Apache ma' MariaDB fuq Debian/Ubuntu


HHVM tfisser HipHop Virtual Machine, hija magna virtwali ta' sors miftuħ maħluqa għat-tħaddim ta' Hack (hija lingwa ta' programmar għal HHVM) u applikazzjonijiet bil-miktub PHP. HHVM juża mogħdija ta 'kompilazzjoni tal-aħħar minuta biex tikseb prestazzjoni notevoli filwaqt li żżomm il-flessibilità li l-programmaturi PHP huma dipendenti fuqha. Sad-data, HHVM kiseb aktar minn 9x żieda fil-fluss tat-talba http u aktar minn 5x maqtugħa fl-utilizzazzjoni tal-memorja (meta taħdem fuq memorja tas-sistema baxxa) għal Facebook meta mqabbla mal-magna PHP + APC (Alternative PHP Cache).

HHVM jista 'jintuża wkoll flimkien ma' web-server ibbażat fuq FastCGI bħal Nginx jew Apache.

F'dan it-tutorja ser inħarsu lejn passi għat-twaqqif ta' server tal-web Nginx/Apache, server tad-database MariaDB u HHVM. Għal din is-setup, se nużaw Ubuntu 15.04 (64-bit) peress li HHVM jaħdem fuq sistema 64-bit biss, għalkemm id-distribuzzjonijiet Debian u Linux Mint huma wkoll appoġġjati.

Pass 1: Installazzjoni ta 'Nginx u Apache Web Server

1. L-ewwel agħmel aġġornament tas-sistema biex taġġorna l-lista tar-repożitorji bl-għajnuna tal-kmandi li ġejjin.

# apt-get update && apt-get upgrade

2. Kif għidt HHVM jista 'jintuża kemm ma' Nginx kif ukoll ma 'server tal-web Apache. Għalhekk, hija l-għażla tiegħek liema server tal-web se tuża, iżda hawnhekk ser nuruk kemm l-installazzjoni tas-servers tal-web kif ukoll kif tużahom ma 'HHVM.

F'dan il-pass, se ninstallaw is-server tal-web Nginx/Apache mir-repożitorju tal-pakketti billi tuża l-kmand li ġej.

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

F'dan il-punt, għandek tkun tista 'tinnaviga għall-URL li ġej u tkun tista' tara l-paġna default ta 'Nginx jew Apache.

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

Pass 2: Installa u Ikkonfigura MariaDB

3. F'dan il-pass, aħna se ninstallaw MariaDB, peress li tipprovdi prestazzjoni aħjar meta mqabbla ma 'MySQL.

# apt-get install mariadb-client mariadb-server

4. Wara l-installazzjoni b'suċċess ta 'MariaDB, tista' tibda MariaDB u tissettja l-password tal-għeruq biex tiżgura d-database:

# systemctl start mysql
# mysql_secure_installation

Wieġeb il-mistoqsijiet li ġejjin billi ttajpja y jew n u agħfas enter. Kun żgur li taqra l-istruzzjonijiet bir-reqqa qabel ma twieġeb il-mistoqsijiet.

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. Wara li tissettja l-password tal-għerq għal MariaDB, tista 'tqabbad ma' MariaDB fil-pront bil-password tal-għeruq il-ġdida.

# mysql -u root -p

Pass 3: Installazzjoni ta 'HHVM

6. F'dan l-istadju għandna ninstallaw u kkonfiguraw HHVM. Ikollok bżonn iżżid ir-repożitorju HHVM mal-fajl sources.list tiegħek u mbagħad trid taġġorna l-lista tar-repożitorju tiegħek billi tuża s-serje ta' kmandi li ġejjin.

# 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

Importanti: Tinsiex li tissostitwixxi DISTRIBUTION_VERSION bil-verżjoni tad-distribuzzjoni tiegħek Ubuntu (jiġifieri lucid, preċiża, jew trusty.) u wkoll fuq Debian ibdel b'jessie jew wheezy. Fuq Linux Mint l-istruzzjonijiet ta 'installazzjoni huma l-istess, iżda petra hija l-unika distribuzzjoni appoġġjata bħalissa.

Wara li żżid repożitorju HHVM, tista 'faċilment tinstallah kif muri.

# apt-get install -y hhvm

L-installazzjoni ta 'HHVM se tibda taħdem issa, iżda mhux ikkonfigurat biex tibda awtomatikament fil-boot tas-sistema li jmiss. Biex tissettja l-bidu awtomatiku fil-boot li jmiss uża l-kmand li ġej.

# update-rc.d hhvm defaults

Pass 4: Konfigurazzjoni ta 'Nginx/Apache biex Tkellem ma' HHVM

7. Issa, nginx/apache u HHVM huma installati u jaħdmu bħala indipendenti, għalhekk għandna bżonn nikkonfiguraw iż-żewġ servers tal-web biex jitkellmu ma 'xulxin. Il-parti kruċjali hija li rridu ngħidu lil nginx/apache biex tibgħat il-fajls PHP kollha lil HHVM biex tesegwixxi.

Jekk qed tuża Nginx, segwi dawn l-istruzzjonijiet kif spjegat..

B'mod awtomatiku, il-konfigurazzjoni nginx tgħix taħt /etc/nginx/sites-available/default u dawn il-konfigurazzjonijiet jidhru f'/usr/share/nginx/html għal fajls biex jesegwixxu, iżda ma jafux x'għandhom jagħmlu bil-PHP.

Biex tagħmel Nginx biex titkellem ma 'HHVM, irridu nħaddmu dan li ġej include script li se tikkonfigura nginx b'mod korrett billi tpoġġi hhvm.conf fil-bidu tal-konfigurazzjoni nginx kif imsemmi hawn fuq.

Dan l-iskript jagħmel l-nginx biex jitkellem ma 'kwalunkwe fajl li jispiċċa b'.hh jew .php u jibgħatha lil HHVM permezz ta' fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

Importanti: Jekk qed tuża Apache, m'hemm l-ebda konfigurazzjoni meħtieġa issa.

8. Sussegwentement, għandek bżonn tuża /usr/bin/hhvm biex tipprovdi /usr/bin/php (php) billi tmexxi dan il-kmand hawn taħt.

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

Wara li jsiru l-passi kollha ta 'hawn fuq, issa tista' tibda l-HHVM u tittestjah.

# systemctl start hhvm

Pass 5: Ittestja l-HHVM b'Nginx/Apache

9. Biex tivverifika li l-hhvm jaħdem, għandek bżonn toħloq fajl hello.php taħt id-direttorju tal-għeruq tad-dokument nginx/apache.

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

Żid is-snippet li ġej ma' dan il-fajl.

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

u mbagħad innaviga lejn il-URL li ġej u vverifika biex tara hello world.

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

Jekk tidher il-paġna HHVM, allura dan ifisser li int lest!

Konklużjoni

Dawn il-passi huma faċli ħafna biex isegwu u nittamaw li ssib dan it-tutorja utli u jekk ikollok xi żball waqt l-installazzjoni ta' xi pakketti, poġġi kumment u aħna nsibu soluzzjonijiet flimkien. U kwalunkwe ideat addizzjonali hija milqugħa.