Setja upp afkastamikið HHVM og Nginx/Apache með MariaDB á Debian/Ubuntu


HHVM stendur fyrir HipHop Virtual Machine, er opinn uppspretta sýndarvél búin til til að keyra Hack (það er forritunarmál fyrir HHVM) og PHP skrifuð forrit. HHVM notar söfnunarleið á síðustu stundu til að ná ótrúlegum árangri á sama tíma og þeir halda sveigjanleikanum sem PHP forritarar eru háðir. HHVM hefur fram að þessu náð meira en 9x aukningu á http beiðniafköstum og meira en 5x minni nýtingu (þegar keyrt er á litlu kerfisminni) fyrir Facebook samanborið við PHP vélina + APC (Alternative PHP Cache).

HHVM er einnig hægt að nota ásamt FastCGI-undirstaða vefþjóni eins og Nginx eða Apache.

Í þessari kennslu munum við skoða skref til að setja upp Nginx/Apache vefþjón, MariaDB gagnagrunnsþjón og HHVM. Fyrir þessa uppsetningu munum við nota Ubuntu 15.04 (64-bita) þar sem HHVM keyrir eingöngu á 64-bita kerfi, þó að Debian og Linux Mint dreifingar séu einnig studdar.

Skref 1: Uppsetning Nginx og Apache vefþjóns

1. Gerðu fyrst kerfisuppfærslu til að uppfæra geymslulista með hjálp eftirfarandi skipana.

# apt-get update && apt-get upgrade

2. Eins og ég sagði HHVM er hægt að nota með bæði Nginx og Apache vefþjóni. Svo, það er þitt val hvaða vefþjón þú ætlar að nota, en hér munum við sýna þér bæði uppsetningu vefþjóna og hvernig á að nota þá með HHVM.

Í þessu skrefi munum við setja upp Nginx/Apache vefþjón úr pakkageymslunni með eftirfarandi skipun.

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

Á þessum tímapunkti ættirðu að geta farið að eftirfarandi vefslóð og þú munt geta séð sjálfgefna síðu Nginx eða Apache.

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

Skref 2: Settu upp og stilltu MariaDB

3. Í þessu skrefi munum við setja upp MariaDB, þar sem það veitir betri árangur samanborið við MySQL.

# apt-get install mariadb-client mariadb-server

4. Eftir árangursríka uppsetningu MariaDB geturðu ræst MariaDB og stillt rótarlykilorð til að tryggja gagnagrunninn:

# systemctl start mysql
# mysql_secure_installation

Svaraðu eftirfarandi spurningum með því að slá inn y eða n og ýttu á enter. Gakktu úr skugga um að þú lesir leiðbeiningarnar vandlega áður en þú svarar spurningunum.

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. Eftir að hafa stillt rót lykilorð fyrir MariaDB geturðu tengst MariaDB hvetja með nýju rót lykilorðinu.

# mysql -u root -p

Skref 3: Uppsetning HHVM

6. Á þessu stigi munum við setja upp og stilla HHVM. Þú þarft að bæta HHVM geymslunni við sources.list skrána þína og þá þarftu að uppfæra geymslulistann þinn með eftirfarandi röð skipana.

# 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

Mikilvægt: Ekki gleyma að skipta út DISTRIBUTION_VERSION fyrir Ubuntu dreifingarútgáfuna þína (þ.e. skýr, nákvæm eða traust.) og einnig á Debian skipta út fyrir jessie eða wheezy. Á Linux Mint eru uppsetningarleiðbeiningar þær sömu, en petra er eina dreifingin sem nú er studd.

Eftir að þú hefur bætt við HHVM geymslunni geturðu auðveldlega sett það upp eins og sýnt er.

# apt-get install -y hhvm

Uppsetning HHVM mun ræsa það núna, en það er ekki stillt til að ræsa sjálfkrafa við næstu ræsingu kerfisins. Til að stilla sjálfvirka ræsingu við næstu ræsingu notaðu eftirfarandi skipun.

# update-rc.d hhvm defaults

Skref 4: Stilla Nginx/Apache til að tala við HHVM

7. Nú eru nginx/apache og HHVM sett upp og keyra sem sjálfstæð, þannig að við þurfum að stilla báða vefþjónana til að tala saman. Mikilvægi hlutinn er að við verðum að segja nginx/apache að senda allar PHP skrár til HHVM til að keyra.

Ef þú ert að nota Nginx skaltu fylgja þessum leiðbeiningum eins og útskýrt er.

Sjálfgefið er að nginx stillingin lifir undir /etc/nginx/sites-available/default og þessar stillingar leita í /usr/share/nginx/html eftir skrám til að keyra, en hún veit ekki hvað á að gera við PHP.

Til að láta Nginx tala við HHVM, þurfum við að keyra eftirfarandi innihaldsskrift sem mun stilla nginx rétt með því að setja hhvm.conf í byrjun nginx stillingar eins og getið er hér að ofan.

Þetta handrit gerir nginx til að tala við hvaða skrá sem endar á .hh eða .php og senda hana til HHVM í gegnum fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

Mikilvægt: Ef þú ert að nota Apache, þá er ekki þörf á neinni stillingu núna.

8. Næst þarftu að nota /usr/bin/hhvm til að veita /usr/bin/php (php) með því að keyra þessa skipun hér að neðan.

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

Eftir að öllum ofangreindum skrefum er lokið geturðu nú ræst HHVM og prófað það.

# systemctl start hhvm

Skref 5: Prófaðu HHVM með Nginx/Apache

9. Til að sannreyna að hhvm virki þarftu að búa til hello.php skrá undir nginx/apache skjalarótarskrá.

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

Bættu eftirfarandi broti við þessa skrá.

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

og farðu síðan á eftirfarandi vefslóð og staðfestu til að sjá „halló heimur“.

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

Ef „HHVM“ síða birtist, þá þýðir það að þú sért klár!

Niðurstaða

Þessum skrefum er mjög auðvelt að fylgja og vona að þér finnist þetta kennsluefni gagnlegt og ef þú færð einhverja villu við uppsetningu á einhverjum pakka, skrifaðu athugasemd og við finnum lausnir saman. Og allar frekari hugmyndir eru vel þegnar.