Augstas veiktspējas HHVM un Nginx/Apache iestatīšana ar MariaDB uz Debian/Ubuntu


HHVM nozīmē HipHop Virtual Machine, ir atvērtā koda virtuālā mašīna, kas izveidota Hack (tā ir HHVM programmēšanas valoda) un PHP rakstītu lietojumprogrammu darbināšanai. HHVM izmanto pēdējā brīža kompilācijas ceļu, lai sasniegtu izcilu sniegumu, vienlaikus saglabājot PHP programmētāju elastību. Līdz datumam HHVM ir sasniedzis vairāk nekā 9x palielinātu http pieprasījumu caurlaidi un vairāk nekā 5 reizes samazinājis Facebook atmiņas izmantošanu (ja darbojas ar mazu sistēmas atmiņu), salīdzinot ar PHP dzinēju + APC (Alternative PHP Cache).

HHVM var izmantot arī kopā ar FastCGI balstītu tīmekļa serveri, piemēram, Nginx vai Apache.

Šajā apmācībā mēs apskatīsim Nginx/Apache tīmekļa servera, MariaDB datu bāzes servera un HHVM iestatīšanas darbības. Šajā iestatījumā mēs izmantosim Ubuntu 15.04 (64 bitu), jo HHVM darbojas tikai ar 64 bitu sistēmu, lai gan tiek atbalstīti arī Debian un Linux Mint izplatījumi.

1. darbība: Nginx un Apache Web Server instalēšana

1. Vispirms veiciet sistēmas jaunināšanu, lai atjauninātu krātuves sarakstu, izmantojot šādas komandas.

# apt-get update && apt-get upgrade

2. Kā jau teicu, HHVM var izmantot gan ar Nginx, gan ar Apache tīmekļa serveri. Tātad, jūs izvēlaties, kuru tīmekļa serveri izmantosiet, taču šeit mēs parādīsim gan tīmekļa serveru instalēšanu, gan to, kā tos izmantot ar HHVM.

Šajā solī mēs instalēsim Nginx/Apache tīmekļa serveri no pakešu krātuves, izmantojot šādu komandu.

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

Šajā brīdī jums vajadzētu būt iespējai pāriet uz šādu URL, un jūs varēsit redzēt Nginx vai Apache noklusējuma lapu.

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

2. darbība: instalējiet un konfigurējiet MariaDB

3. Šajā solī mēs instalēsim MariaDB, jo tas nodrošina labāku veiktspēju salīdzinājumā ar MySQL.

# apt-get install mariadb-client mariadb-server

4. Pēc veiksmīgas MariaDB instalēšanas varat sākt MariaDB un iestatīt saknes paroli, lai aizsargātu datu bāzi:

# systemctl start mysql
# mysql_secure_installation

Atbildiet uz šiem jautājumiem, ierakstot y vai n un nospiediet enter. Pirms atbildat uz jautājumiem, noteikti izlasiet 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. Pēc root paroles iestatīšanas MariaDB, varat izveidot savienojumu ar MariaDB uzvedni, izmantojot jauno root paroli.

# mysql -u root -p

3. solis: HHVM instalēšana

6. Šajā posmā mēs instalēsim un konfigurēsim HHVM. HHVM krātuve jāpievieno failam sources.list un pēc tam jāatjaunina krātuves saraksts, izmantojot šādas komandu sērijas.

# 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

Svarīgi: neaizmirstiet aizstāt DISTRIBUTION_VERSION ar savu Ubuntu izplatīšanas versiju (t.i., skaidru, precīzu vai uzticamu.) Un arī Debian aizstāt ar jessie vai sēkšanu. Uz Linux Mint instalēšanas instrukcijas ir vienādas, taču petra ir vienīgais pašlaik atbalstītais izplatītājs.

Pēc HHVM krātuves pievienošanas to var viegli instalēt, kā parādīts.

# apt-get install -y hhvm

Instalējot HHVM, tas tiks palaists tagad, taču tas nav konfigurēts automātiski startēt nākamajā sistēmas sāknēšanas reizē. Lai iestatītu automātisko palaišanu nākamajā sāknēšanas reizē, izmantojiet šādu komandu.

# update-rc.d hhvm defaults

4. darbība: Nginx/Apache konfigurēšana sarunai ar HHVM

7. Tagad nginx/apache un HHVM ir instalēti un darbojas kā neatkarīgi, tāpēc mums ir jākonfigurē abi tīmekļa serveri, lai sarunātos savā starpā. Izšķirošā daļa ir tā, ka mums ir jāpasaka nginx/apache pārsūtīt visus PHP failus uz HHVM, lai tos izpildītu.

Ja izmantojat Nginx, izpildiet šos norādījumus, kā paskaidrots.

Pēc noklusējuma nginx konfigurācija dzīvo zem/etc/nginx/sites-available/default, un šie konfigurācijas faili tiks izpildīti mapē/usr/share/nginx/html, taču tā nezina, ko darīt ar PHP.

Lai liktu Nginx runāt ar HHVM, mums jāpalaiž šāds iekļaušanas skripts, kas pareizi konfigurēs nginx, ievietojot hhvm.conf nginx config sākumā, kā minēts iepriekš.

Šis skripts liek nginx runāt ar jebkuru failu, kas beidzas ar .hh vai .php, un nosūtīt to uz HHVM, izmantojot fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

Svarīgi! Ja izmantojat Apache, tagad nav nepieciešama nekāda konfigurācija.

8. Tālāk jums jāizmanto/usr/bin/hhvm, lai nodrošinātu/usr/bin/php (php), izpildot šo komandu zemāk.

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

Pēc visu iepriekš minēto darbību veikšanas tagad varat sākt HHVM un pārbaudīt to.

# systemctl start hhvm

5. darbība: HHVM pārbaude ar Nginx/Apache

9. Lai pārbaudītu, vai hhvm darbojas, jums ir jāizveido hello.php fails zem nginx/apache dokumenta saknes direktorija.

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

Pievienojiet šim failam šādu fragmentu.

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

un pēc tam pārejiet uz šo URL un pārbaudiet, vai redzat “sveika pasaule”.

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

Ja tiek parādīta lapa “HHVM”, tas nozīmē, ka viss ir kārtībā!

Secinājums

Šīs darbības ir ļoti viegli ievērojamas, un ceru, ka šī apmācība jums būs noderīga, un, ja kādu paku instalēšanas laikā rodas kļūda, ievietojiet komentāru, un mēs kopā atradīsim risinājumus. Un visas papildu idejas ir apsveicamas.