Pag-set up sa High-Performance HHVM ug Nginx/Apache kauban ang MariaDB sa Debian/Ubuntu


Ang HHVM nagpasabot sa HipHop Virtual Machine, usa ka open source virtual machine nga gimugna para sa pagpadagan sa Hack (kini usa ka programming language para sa HHVM) ug PHP nga sinulat nga mga aplikasyon. Ang HHVM naggamit sa usa ka katapusang minuto nga agianan sa pag-compile aron makab-ot ang talagsaon nga pasundayag samtang gitipigan ang pagka-flexible nga naadik sa mga programmer sa PHP. Hangtud karon, ang HHVM nakab-ot sa 9x nga pagtaas sa http request throughput ug labaw pa sa 5x cut sa memory utilization (kon nagdagan sa ubos nga sistema sa memorya) para sa Facebook kumpara sa PHP engine + APC (Alternatibong PHP Cache).

Mahimo usab gamiton ang HHVM kauban ang usa ka web-server nga nakabase sa FastCGI sama sa Nginx o Apache.

Niini nga panudlo atong tan-awon ang mga lakang sa pag-set up sa Nginx/Apache web server, MariaDB database server ug HHVM. Alang sa kini nga setup, among gamiton ang Ubuntu 15.04 (64-bit) samtang ang HHVM nagdagan sa 64-bit nga sistema lamang, bisan kung ang mga distribusyon sa Debian ug Linux Mint gisuportahan usab.

Lakang 1: Pag-instalar sa Nginx ug Apache Web Server

1. Una sa pagbuhat sa usa ka sistema upgrade sa update repository listahan uban sa tabang sa mosunod nga mga sugo.

# apt-get update && apt-get upgrade

2. Sama sa akong giingon nga ang HHVM mahimong magamit sa Nginx ug Apache web server. Mao nga, imong gipili kung unsang web server ang imong gamiton, apan dinhi ipakita namon kanimo ang pag-install sa mga web server ug kung giunsa kini gamiton sa HHVM.

Niini nga lakang, atong i-install ang Nginx/Apache web server gikan sa packages repository gamit ang mosunod nga command.

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

Niini nga punto, kinahanglan ka nga maka-navigate sa pagsunod sa URL ug makita nimo ang Nginx o Apache default nga panid.

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

Lakang 2: I-install ug I-configure ang MariaDB

3. Niini nga lakang, atong i-install ang MariaDB, tungod kay naghatag kini og mas maayo nga performance kon itandi sa MySQL.

# apt-get install mariadb-client mariadb-server

4. Human sa malampuson nga pag-instalar sa MariaDB, mahimo nimong sugdan ang MariaDB ug itakda ang root password aron ma-secure ang database:

# systemctl start mysql
# mysql_secure_installation

Tubaga ang mosunod nga mga pangutana pinaagi sa pag-type sa y o n ug pindota ang enter. Siguroa nga basahon nimo pag-ayo ang mga instruksyon sa dili pa motubag sa mga pangutana.

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. Human sa pag-set sa root password alang sa MariaDB, mahimo kang makonektar sa MariaDB prompt gamit ang bag-ong root password.

# mysql -u root -p

Lakang 3: Pag-instalar sa HHVM

6. Niini nga yugto atong i-install ug i-configure ang HHVM. Kinahanglan nimong idugang ang HHVM repository sa imong sources.list file ug unya kinahanglan nimo nga i-update ang imong repository list gamit ang mosunod nga serye sa mga command.

# 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

Importante: Ayaw kalimti ang pag-ilis sa DISTRIBUTION_VERSION sa imong bersyon sa pag-apod-apod sa Ubuntu (ie klaro, tukma, o kasaligan.) ug usab sa Debian ilisan og jessie o wheezy. Sa Linux Mint ang mga instruksyon sa pag-install parehas, apan ang petra mao lamang ang gisuportahan karon nga pag-apod-apod.

Pagkahuman sa pagdugang sa HHVM repository, dali nimo kini ma-install sama sa gipakita.

# apt-get install -y hhvm

Ang pag-install sa HHVM magsugod kini karon, apan wala kini gi-configure aron magsugod sa awto sa sunod nga boot sa sistema. Aron itakda ang auto start sa sunod nga boot gamita ang mosunod nga command.

# update-rc.d hhvm defaults

Lakang 4: Pag-configure sa Nginx/Apache aron makigsulti sa HHVM

7. Karon, ang nginx/apache ug HHVM gi-install ug nagdagan isip independente, mao nga kinahanglan natong i-configure ang duha ka web server aron makigsulti sa usag usa. Ang hinungdanon nga bahin mao nga kinahanglan naton isulti ang nginx/apache nga ipasa ang tanan nga mga file sa PHP sa HHVM aron ipatuman.

Kung ikaw naggamit sa Nginx, sunda kini nga mga panudlo sama sa gipatin-aw.

Sa kasagaran, ang configuration sa nginx nagpuyo ubos sa /etc/nginx/sites-available/default ug kini nga config tan-awon sa /usr/share/nginx/html para sa mga file nga i-execute, pero wala kini kabalo unsay buhaton sa PHP.

Aron mahimo ang Nginx nga makig-istorya sa HHVM, kinahanglan natong padaganon ang mosunod nga naglakip sa script nga mag-configure sa nginx sa husto pinaagi sa pagbutang og hhvm.conf sa sinugdanan sa nginx config sama sa gihisgutan sa ibabaw.

Kini nga script naghimo sa nginx nga makigsulti sa bisan unsang file nga natapos sa .hh o .php ug ipadala kini sa HHVM pinaagi sa fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

Importante: Kung naggamit ka sa Apache, wala'y gikinahanglan nga pag-configure karon.

8. Sunod, kinahanglan nimong gamiton ang /usr/bin/hhvm aron mahatagan ang /usr/bin/php (php) pinaagi sa pagpadagan niini nga sugo sa ubos.

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

Human mahuman ang tanan nga mga lakang sa ibabaw, mahimo nimong sugdan ang HHVM ug sulayan kini.

# systemctl start hhvm

Lakang 5: Pagsulay sa HHVM sa Nginx/Apache

9. Aron mapamatud-an nga ang hhvm nagtrabaho, kinahanglan kang maghimo ug hello.php file ubos sa nginx/apache document root directory.

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

Idugang ang mosunod nga snippet sa kini nga file.

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

ug dayon pag-navigate sa mosunod nga URL ug pag-verify aron makita ang hello world.

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

Kung ang HHVM nga panid makita, nan kini nagpasabut nga andam ka na!

Konklusyon

Kini nga mga lakang dali ra sundon ug nanghinaut nga makit-an nimo kini nga panudlo nga mapuslanon ug kung adunay ka sayup sa panahon sa pag-install sa bisan unsang mga pakete, mag-post usa ka komento ug mangita kami mga solusyon nga magkauban. Ug ang bisan unsang dugang nga mga ideya gidawat.