Debian/Ubuntu-da MariaDB bilen ýokary öndürijilikli HHVM we Nginx/Apache gurmak


HHVM HipHop Wirtual Machine diýmekdir, Hack (bu HHVM üçin programmirleme dili) we PHP ýazuw programmalary üçin döredilen açyk çeşme wirtual maşyn. HHVM, PHP programmistleriniň endik eden çeýeligini saklamak bilen ajaýyp öndürijilige ýetmek üçin soňky minutlyk düzmek ýoluny ulanýar. Şu wagta çenli HHVM, “PHP” hereketlendirijisi + APC (Alternative PHP Cache) bilen deňeşdirilende, “Facebook” üçin http haýyşynyň geçirişiniň 9x ýokarlanmagyny we “Facebook” üçin ýadyň ulanylyşyny 5x-den gowrak azaltmagy gazandy.

HHVM, Nginx ýa-da Apache ýaly FastCGI esasly web serweri bilen bilelikde ulanylyp bilner.

Bu gollanmada Nginx/Apache web serwerini, MariaDB maglumat bazasynyň serwerini we HHVM-ni gurmagyň ädimlerine serederis. Bu gurnama üçin Ubuntu 15.04 (64 bit) ulanarys, sebäbi HHVM diňe 64 bitli ulgamda işleýär, Debian we Linux Mint paýlamalary hem goldanýar.

1-nji ädim: Nginx we Apache web serwerini gurmak

1. Ilki bilen aşakdaky buýruklaryň kömegi bilen ammar sanawyny täzelemek üçin ulgamy täzeläň.

# apt-get update && apt-get upgrade

2. HHVM-i Nginx we Apache web serweri bilen ulanyp boljakdygyny aýdyşym ýaly. Şeýlelik bilen, haýsy web serwerini ulanjakdygyňyzy özüňiz saýlarsyňyz, ýöne bu ýerde size web serwerleriniň ikisini gurnamagy we HHVM bilen nädip ulanmalydygyny görkezeris.

Bu ädimde, aşakdaky buýrugy ulanyp, paketler ammaryndan Nginx/Apache web serwerini gurarys.

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

Bu pursatda aşakdaky URL-e geçip bilmeli we Nginx ýa-da Apache başlangyç sahypasyny görüp bilersiňiz.

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

2-nji ädim: MariaDB-i guruň we sazlaň

3. Bu ädimde, MariaDB gurarys, sebäbi MySQL bilen deňeşdirilende has gowy öndürijilik berýär.

# apt-get install mariadb-client mariadb-server

4. MariaDB üstünlikli gurlandan soň, MariaDB başlap we maglumat bazasyny goramak üçin kök parolyny goýup bilersiňiz:

# systemctl start mysql
# mysql_secure_installation

Aşakdaky soraglara y ýa-da n ýazyp, Enter basyň. Soraglara jogap bermezden ozal görkezmeleri üns bilen okaň.

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. MariaDB üçin kök paroly belläniňizden soň, täze kök paroly bilen MariaDB soragyna birigip bilersiňiz.

# mysql -u root -p

3-nji ädim: HHVM gurmak

6. Bu etapda HHVM gurarys we sazlarys. HHVM ammaryny source.list faýlyňyza goşmaly, soňra aşakdaky buýruklar tapgyryny ulanyp ammar sanawyňyzy täzelemeli.

# 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

Üns beriň: DISTRIBUTION_VERSION-ny Ubuntu paýlaýyş wersiýaňyz bilen çalyşmagy ýatdan çykarmaň (meselem, düşnükli, takyk ýa-da ygtybarly.) Şeýle hem Debian-da jessi ýa-da tigirli çalyşmagy ýatdan çykarmaň. Linux Mint-da gurnama görkezmeleri birmeňzeş, ýöne petra häzirki wagtda goldanýan ýeke-täk paýlanyşdyr.

HHVM ammaryny goşanyňyzdan soň, görkezilişi ýaly aňsatlyk bilen gurnap bilersiňiz.

# apt-get install -y hhvm

HHVM-ni gurnamak indi başlar, ýöne indiki ulgam ýüklemesinde awtomatiki başlamak üçin düzülmedi. Indiki ýüklemede awto başlangyjy bellemek üçin aşakdaky buýrugy ulanyň.

# update-rc.d hhvm defaults

4-nji ädim: HHVM bilen gürleşmek üçin Nginx/Apache sazlamak

7. Indi, nginx/apache we HHVM gurulýar we garaşsyz işleýär, şonuň üçin biri-biri bilen gürleşmek üçin iki web serwerini hem sazlamaly. Iň möhüm bölegi, ähli PHP faýllaryny ýerine ýetirmek üçin HHVM-e ugratmak üçin nginx/apache-e aýtmalydyrys.

Nginx ulanýan bolsaňyz, düşündirilişi ýaly şu görkezmelere eýeriň ..

Düzgüne görä, nginx konfigurasiýasy/etc/nginx/sites-available/default görnüşinde ýaşaýar we bu konfigurasiýa faýllaryň ýerine ýetirilmegi üçin/usr/share/nginx/html görnüşinde görünýär, ýöne PHP bilen näme etmelidigini bilenok.

Nginx-i HHVM bilen gürleşmek üçin aşakdakylary işletmeli, ýokarda aýdylyşy ýaly nginx konfigurasiýasynyň başynda hhvm.conf goýup, nginx-i dogry sazlaýan skript.

Bu ýazgy, nginx-i .hh ýa-da .php bilen gutarýan islendik faýl bilen gürleşmäge we fastcgi arkaly HHVM-e ibermäge mejbur edýär.

# /usr/share/hhvm/install_fastcgi.sh

Üns beriň: Apache ulanýan bolsaňyz, häzir hiç hili konfigurasiýa gerek däl.

8. Ondan soň, aşakdaky buýrugy işledip/usr/bin/php (php) üpjün etmek üçin/usr/bin/hhvm ulanmaly.

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

Aboveokardaky ädimleriň hemmesi ýerine ýetirilenden soň, HHVM-i başlap, synagdan geçirip bilersiňiz.

# systemctl start hhvm

5-nji ädim: HHVM-ni Nginx/Apache bilen barlamak

9. Hhvm-iň işleýändigini barlamak üçin nginx/apache resminama kök katalogynyň aşagynda hello.php faýly döretmeli.

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

Bu faýla aşakdaky bölegi goşuň.

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

soňra aşakdaky URL-e geçiň we “salam dünýäsi” görmek üçin barlaň.

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

“HHVM” sahypasy peýda bolsa, diýmek, hemmäňiz taýyn!

Netije

Bu ädimleri ýerine ýetirmek gaty aňsat we bu gollanmany peýdaly taparsyňyz diýip umyt edýärin we haýsydyr bir paket gurlanda ýalňyşlyk ýüze çyksa, teswir ýazyň we bilelikde çözgüt taparys. Islendik goşmaça pikirler kabul edilýär.