Kuweka HHVM ya Utendaji wa Juu na Nginx/Apache na MariaDB kwenye Debian/Ubuntu


HHVM inawakilisha HipHop Virtual Machine, ni chanzo huria cha mashine pepe iliyoundwa kwa ajili ya kuendesha Hack (ni lugha ya programu ya HHVM) na programu zilizoandikwa za PHP. HHVM hutumia njia ya ujumuishaji ya dakika za mwisho ili kufikia utendakazi wa ajabu huku ikiweka unyumbufu ambao watayarishaji programu wa PHP wamezoea. Kufikia sasa, HHVM imepata ongezeko la mara 9 la utumaji wa ombi la http na utumiaji wa kumbukumbu zaidi ya mara 5 (wakati wa kutumia kumbukumbu ya mfumo wa chini) kwa Facebook ikilinganishwa na injini ya PHP + APC (Cache Mbadala ya PHP).

HHVM pia inaweza kutumika pamoja na seva ya wavuti ya FastCGI kama Nginx au Apache.

Katika somo hili tutaangalia hatua za kusanidi seva ya wavuti ya Nginx/Apache, seva ya hifadhidata ya MariaDB na HHVM. Kwa usanidi huu, tutatumia Ubuntu 15.04 (64-bit) kama HHVM inavyotumia mfumo wa 64-bit pekee, ingawa usambazaji wa Debian na Linux Mint pia unatumika.

Hatua ya 1: Kufunga Nginx na Apache Web Server

1. Kwanza fanya uboreshaji wa mfumo ili kusasisha orodha ya hazina kwa msaada wa amri zifuatazo.

# apt-get update && apt-get upgrade

2. Kama nilivyosema HHVM inaweza kutumika kwa seva ya wavuti ya Nginx na Apache. Kwa hivyo, ni chaguo lako ni seva gani ya wavuti utakayotumia, lakini hapa tutakuonyesha usakinishaji wa seva za wavuti na jinsi ya kuzitumia na HHVM.

Katika hatua hii, tutasakinisha seva ya wavuti ya Nginx/Apache kutoka kwa hazina ya vifurushi kwa kutumia amri ifuatayo.

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

Katika hatua hii, unapaswa kuwa na uwezo wa kuelekea kwa kufuata URL na utaweza kuona Nginx au Apache ukurasa chaguo-msingi.

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

Hatua ya 2: Sakinisha na Usanidi MariaDB

3. Katika hatua hii, tutasakinisha MariaDB, kwa kuwa inatoa utendakazi bora ikilinganishwa na MySQL.

# apt-get install mariadb-client mariadb-server

4. Baada ya MariaDB kusakinisha kwa mafanikio, unaweza kuanzisha MariaDB na kuweka nenosiri la mizizi ili kulinda hifadhidata:

# systemctl start mysql
# mysql_secure_installation

Jibu maswali yafuatayo kwa kuandika y au n na ubonyeze ingiza. Hakikisha unasoma maagizo kwa uangalifu kabla ya kujibu maswali.

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. Baada ya kuweka nenosiri la mizizi kwa MariaDB, unaweza kuunganisha kwa haraka ya MariaDB na nenosiri mpya la mizizi.

# mysql -u root -p

Hatua ya 3: Usakinishaji wa HHVM

6. Katika hatua hii tutasakinisha na kusanidi HHVM. Unahitaji kuongeza hazina ya HHVM kwenye faili yako ya sources.list kisha itabidi usasishe orodha yako ya hazina kwa kutumia mfululizo wa amri zifuatazo.

# 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

Muhimu: Usisahau kubadilisha DISTRIBUTION_VERSION na toleo lako la usambazaji la Ubuntu (yaani wazi, sahihi, au mwaminifu.) na pia kwenye Debian badilisha na jessie au Wheezy. Kwenye Linux Mint maagizo ya usakinishaji ni sawa, lakini petra ndio usambazaji pekee unaotumika kwa sasa.

Baada ya kuongeza hazina ya HHVM, unaweza kuisakinisha kwa urahisi kama inavyoonyeshwa.

# apt-get install -y hhvm

Kusakinisha HHVM kutaianzisha sasa, lakini haijasanidiwa kuanza kiotomatiki kwenye mfumo wa kuwasha unaofuata. Kuweka kuanza kiotomatiki kwenye buti inayofuata tumia amri ifuatayo.

# update-rc.d hhvm defaults

Hatua ya 4: Kusanidi Nginx/Apache ili Kuzungumza na HHVM

7. Sasa, nginx/apache na HHVM zimesakinishwa na kufanya kazi kama zinazojitegemea, kwa hivyo tunahitaji kusanidi seva zote za wavuti ili zizungumze. Sehemu muhimu ni kwamba lazima tuambie nginx/apache kusambaza faili zote za PHP kwa HHVM kutekeleza.

Ikiwa unatumia Nginx, fuata maagizo haya kama ilivyoelezewa..

Kwa chaguo-msingi, usanidi wa nginx huishi chini ya /etc/nginx/sites-available/default na usanidi huu unaonekana ndani /usr/share/nginx/html kwa faili kutekeleza, lakini haijui la kufanya na PHP.

Ili kufanya Nginx kuzungumza na HHVM, tunahitaji kuendesha yafuatayo ni pamoja na hati ambayo itasanidi nginx kwa usahihi kwa kuweka hhvm.conf mwanzoni mwa usanidi wa nginx kama ilivyotajwa hapo juu.

Hati hii hufanya nginx kuongea na faili yoyote inayoisha na .hh au .php na kuituma kwa HHVM kupitia fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

Muhimu: Ikiwa unatumia Apache, hakuna usanidi wowote unaohitajika sasa.

8. Kisha, unahitaji kutumia /usr/bin/hhvm kutoa /usr/bin/php (php) kwa kuendesha amri hii hapa chini.

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

Baada ya hatua zote zilizo hapo juu kufanywa, sasa unaweza kuanzisha HHVM na kuijaribu.

# systemctl start hhvm

Hatua ya 5: Kujaribu HHVM na Nginx/Apache

9. Ili kuthibitisha kwamba hhvm inafanya kazi, unahitaji kuunda faili ya hello.php chini ya saraka ya mizizi ya nginx/apache.

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

Ongeza kijisehemu kifuatacho kwenye faili hii.

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

na kisha uende kwenye URL ifuatayo na uthibitishe ili kuona hello world.

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

Ikiwa ukurasa wa HHVM utaonekana, basi inamaanisha kuwa uko tayari!

Hitimisho

Hatua hizi ni rahisi sana kufuata na natumai kupata mafunzo haya kuwa muhimu na ikiwa utapata hitilafu yoyote wakati wa usakinishaji wa vifurushi vyovyote, chapisha maoni na tutapata suluhisho pamoja. Na mawazo yoyote ya ziada yanakaribishwa.