Ịmepụta HHVM dị elu na Nginx/Apache na MariaDB na Debian/Ubuntu


HHVM na-anọchi anya HipHop Virtual Machine, bụ igwe mepere emepe mebere maka ịgba ọsọ mbanye anataghị ikike (ọ bụ asụsụ mmemme maka HHVM) yana ngwa edere PHP. HHVM na-eji ụzọ nchịkọta nkeji ikpeazụ iji nweta arụmọrụ dị ịrịba ama ma na-echekwa mgbanwe nke ndị mmemme PHP riri ahụ. Ruo ugbu a, HHVM enwetala mmụba 9x na ntinye arịrịọ http yana ihe karịrị 5x ịkpụ na iji ebe nchekwa (mgbe ọ na-agba ọsọ na ebe nchekwa sistemụ dị ala) maka Facebook ma e jiri ya tụnyere PHP engine + APC (Alternative PHP Cache).

Enwere ike iji HHVM yana sava weebụ dabere na FastCGI dị ka Nginx ma ọ bụ Apache.

N'ime nkuzi a, anyị ga-eleba anya na usoro maka ịtọlite sava weebụ Nginx/Apache, sava nchekwa data MariaDB na HHVM. Maka nhazi a, anyị ga-eji Ubuntu 15.04 (64-bit) ka HHVM na-agba ọsọ na sistemụ 64-bit naanị, ọ bụ ezie na a na-akwadokwa nkesa Debian na Linux Mint.

Kwụpụ 1: Ịwụnye Nginx na Apache Web Server

1. Buru ụzọ mee nkwalite sistemụ iji melite ndepụta nchekwa site n'enyemaka nke iwu ndị a.

# apt-get update && apt-get upgrade

2. Dị ka m kwuru HHVM nwere ike iji ma Nginx na Apache sava weebụ. Yabụ, ọ bụ nhọrọ gị nke sava webụ ị ga-eji, mana ebe a, anyị ga-egosi gị nrụnye sava weebụ yana otu esi eji HHVM.

N'ime usoro a, anyị ga-etinye ihe nkesa weebụ Nginx/Apache site na nchịkọta nchịkọta site na iji iwu na-esonụ.

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

N'oge a, ị ga-enwe ike ịnyagharịa na URL na-eso ma ị ga-enwe ike ịhụ Nginx ma ọ bụ Apache ndabere ibe.

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

Kwụpụ 2: Wụnye ma hazie MariaDB

3. N'ime usoro a, anyị ga-etinye MariaDB, dịka ọ na-enye ọrụ ka mma ma e jiri ya tụnyere MySQL.

# apt-get install mariadb-client mariadb-server

4. Mgbe MariaDB rụchara nke ọma, ị nwere ike ịmalite MariaDB wee tọọ paswọọdụ mgbọrọgwụ iji chekwaa nchekwa data:

# systemctl start mysql
# mysql_secure_installation

Zaa ajụjụ ndị a site na ịpị y ma ọ bụ n wee pịa tinye. Jide n'aka na ị gụọ ntuziaka ahụ nke ọma tupu ịza ajụjụ ndị a.

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. Mgbe mwube mgbọrọgwụ paswọọdụ maka MariaDB, ị nwere ike jikọọ na MariaDB ozugbo na ọhụrụ mgbọrọgwụ paswọọdụ.

# mysql -u root -p

Kwụpụ 3: Nwụnye HHVM

6. N'oge a, anyị ga-arụnye na hazie HHVM. Ịkwesịrị ịgbakwunye ebe nchekwa HHVM na faịlụ source.list gị wee melite ndepụta nchekwa gị site na iji usoro iwu.

# 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

Ihe dị mkpa: Echefula iji ụdị nkesa Ubuntu dochie DISTRIBUTION_VERSION (ya bụ lucid, nkenke, ma ọ bụ ntụkwasị obi.) yana na Debian dochie ya na jessie ma ọ bụ wheezy. Na Linux Mint ntuziaka nrụnye bụ otu, mana petra bụ naanị nkesa na-akwado ugbu a.

Ka ịgbakwunye ebe nchekwa HHVM, ị nwere ike ịwụnye ya ngwa ngwa dịka egosiri.

# apt-get install -y hhvm

Ịwụnye HHVM ga-amalite ya ugbu a, mana ahazighị ya ka ọ malite na akpaghị aka na buut sistemụ ọzọ. Ka ịtọọ mmalite akpaaka na buut ọzọ jiri iwu a.

# update-rc.d hhvm defaults

Kwụpụ 4: Na-ahazi Nginx/Apache ka ị na-agwa HHVM okwu

7. Ugbu a, nginx/apache na HHVM arụnyere ma na-agba ọsọ dị ka ndị nweere onwe ha, ya mere anyị kwesịrị ịhazi ma sava weebụ ka anyị na-ekwurịta okwu. Akụkụ dị mkpa bụ na anyị ga-agwa nginx/apache ka ọ bufee faịlụ PHP niile na HHVM iji mebie.

Ọ bụrụ na ị na-eji Nginx, soro ntuziaka a ka akọwara ya.

Site na ndabara, nhazi nginx dị n'okpuru /etc/nginx/sites-available/default na nhazi ndị a na-ele anya na /usr/share/nginx/html maka faịlụ iji mebie, ma ọ maghị ihe ị ga-eme na PHP.

Iji mee Nginx ka ya na HHVM kparịta ụka, anyị kwesịrị ịgba ọsọ na-esonụ gụnyere edemede nke ga-ahazi nginx nke ọma site n'itinye hhvm.conf na mmalite nke nginx config dị ka ekwuru n'elu.

Edemede a na-eme nginx ka ọ gwa faịlụ ọ bụla kwụsịrị na .hh ma ọ bụ .php wee ziga ya na HHVM site na fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

Ihe dị mkpa: Ọ bụrụ na ị na-eji Apache, ọ nweghị nhazi ọ bụla achọrọ ugbu a.

8. Ọzọ, ịkwesịrị iji /usr/bin/hhvm iji nye /usr/bin/php (php) site na ịme iwu a n'okpuru.

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

Mgbe emechara usoro ndị a niile, ị nwere ike ịmalite HHVM ugbu a wee nwalee ya.

# systemctl start hhvm

Kwụpụ 5: Jiri Nginx/Apache nwale HHVM

9. Iji nyochaa na hhvm na-arụ ọrụ, ịkwesịrị ịmepụta faịlụ hello.php n'okpuru nginx/apache akwụkwọ mgbọrọgwụ ndekọ.

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

Tinye snippet ndị a na faịlụ a.

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

wee gaa na URL na-esote wee nyochaa ka ịhụ hello ụwa.

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

Ọ bụrụ na ibe “HHVM” pụtara, ọ pụtara na edobela gị!

Mmechi

Usoro ndị a dị mfe ịgbaso ma nwee olileanya na ịchọta nkuzi a bara uru ma ọ bụrụ na ị nweta njehie ọ bụla n'oge ntinye nke ngwugwu ọ bụla, biputere okwu na anyị ga-achọta ngwọta ọnụ. A na-anabatakwa echiche ọ bụla ọzọ.