ການຕັ້ງຄ່າ HHVM ທີ່ມີປະສິດຕິພາບສູງແລະ Nginx/Apache ກັບ MariaDB ໃນ Debian/Ubuntu


HHVM ຫຍໍ້ມາຈາກ HipHop Virtual Machine, ແມ່ນເຄື່ອງ virtual ທີ່ເປີດຂື້ນທີ່ສ້າງຂື້ນມາ ສຳ ລັບການເຮັດວຽກ Hack (ມັນແມ່ນພາສາການຂຽນໂປແກຼມ ສຳ ລັບ HHVM) ແລະໂປຣແກຣມ PHP ທີ່ຂຽນ. HHVM ໃຊ້ເສັ້ນທາງລວບລວມນາທີສຸດທ້າຍເພື່ອບັນລຸຜົນງານທີ່ໂດດເດັ່ນໃນຂະນະທີ່ຮັກສາຄວາມຍືດຫຍຸ່ນທີ່ນັກຂຽນໂປແກຼມ PHP ຕິດຢູ່. ຈົນເຖິງວັນທີ, HHVM ໄດ້ບັນລຸການເພີ່ມຂື້ນ 9 ເທົ່າຂອງການຮ້ອງຂໍຜ່ານ http ແລະເພີ່ມຫຼາຍກວ່າ 5 ເທົ່າໃນການ ນຳ ໃຊ້ຫນ່ວຍຄວາມ ຈຳ (ໃນເວລາທີ່ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ ຂອງລະບົບຕ່ ຳ) ສຳ ລັບ Facebook ທຽບກັບເຄື່ອງຈັກ PHP + APC (PHP PHP Cache).

HHVM ຍັງສາມາດຖືກ ນຳ ໃຊ້ພ້ອມກັບເຄື່ອງແມ່ຂ່າຍເວັບທີ່ໃຊ້ FastCGI ທີ່ຄ້າຍຄື Nginx ຫຼື Apache.

ໃນບົດແນະ ນຳ ນີ້ພວກເຮົາຈະຕ້ອງເບິ່ງຂັ້ນຕອນຕ່າງໆ ສຳ ລັບການຕັ້ງຄ່າ Nginx/Apache server, server server ຖານຂໍ້ມູນ MariaDB ແລະ HHVM. ສຳ ລັບການຕັ້ງຄ່ານີ້, ພວກເຮົາຈະ ນຳ ໃຊ້ Ubuntu 15.04 (64-bit) ຍ້ອນວ່າ HHVM ໃຊ້ໃນລະບົບ 64 ບິດເທົ່ານັ້ນ, ເຖິງແມ່ນວ່າການແຈກຈ່າຍ Debian ແລະ Linux Mint ກໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ ເຊັ່ນກັນ.

ຂັ້ນຕອນທີ 1: ການຕິດຕັ້ງ Nginx ແລະ Apache Web Server

1. ທຳ ອິດເຮັດການປັບປຸງລະບົບເພື່ອປັບປຸງລາຍຊື່ຫໍສະມຸດໂດຍການຊ່ວຍເຫຼືອຂອງ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້.

# apt-get update && apt-get upgrade

2. ດັ່ງທີ່ຂ້ອຍໄດ້ເວົ້າວ່າ HHVM ສາມາດ ນຳ ໃຊ້ກັບທັງ Nginx ແລະ server web server. ດັ່ງນັ້ນ, ມັນແມ່ນການເລືອກຂອງທ່ານທີ່ເຄື່ອງແມ່ຂ່າຍເວັບທີ່ທ່ານຈະໃຊ້, ແຕ່ນີ້ພວກເຮົາຈະສະແດງໃຫ້ທ່ານເຫັນທັງການຕິດຕັ້ງເຊີຟເວີເວັບແລະວິທີການ ນຳ ໃຊ້ກັບ HHVM.

ໃນຂັ້ນຕອນນີ້, ພວກເຮົາຈະຕິດຕັ້ງເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx/Apache ຈາກຫ້ອງສະມຸດຫຸ້ມຫໍ່ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

ໃນຈຸດນີ້, ທ່ານຄວນຈະສາມາດ ນຳ ທາງໄປທີ່ URL ຕໍ່ໄປນີ້ແລະທ່ານຈະສາມາດເຫັນ ໜ້າ ເວັບ Nginx ຫຼື Apache ໃນຕອນຕົ້ນ.

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

ຂັ້ນຕອນທີ 2: ຕິດຕັ້ງແລະຕັ້ງຄ່າ MariaDB

3. ໃນຂັ້ນຕອນນີ້, ພວກເຮົາຈະຕິດຕັ້ງ MariaDB, ຍ້ອນວ່າມັນໃຫ້ການປະຕິບັດທີ່ດີກວ່າເມື່ອທຽບກັບ MySQL.

# apt-get install mariadb-client mariadb-server

4. ຫຼັງຈາກການຕິດຕັ້ງ MariaDB ປະສົບຜົນ ສຳ ເລັດ, ທ່ານສາມາດເລີ່ມຕົ້ນ MariaDB ແລະຕັ້ງລະຫັດລັບເພື່ອຮັກສາຖານຂໍ້ມູນ:

# systemctl start mysql
# mysql_secure_installation

ຕອບ ຄຳ ຖາມຕໍ່ໄປນີ້ໂດຍການພິມ y ຫຼື n ແລະກົດ enter. ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ອ່ານ ຄຳ ແນະ ນຳ ຢ່າງລະມັດລະວັງກ່ອນທີ່ຈະຕອບ ຄຳ ຖາມ.

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, ທ່ານສາມາດເຊື່ອມຕໍ່ກັບ prompt MariaDB ດ້ວຍລະຫັດຮາກ ໃໝ່.

# mysql -u root -p

ຂັ້ນຕອນທີ 3: ການຕິດຕັ້ງ HHVM

6. ໃນໄລຍະນີ້ພວກເຮົາຈະຕິດຕັ້ງແລະ ກຳ ຫນົດ HHVM. ທ່ານ ຈຳ ເປັນຕ້ອງເພີ່ມບ່ອນເກັບຮັກສາ HHVM ໃສ່ໃນເອກະສານ source.list ຂອງທ່ານແລະຫຼັງຈາກນັ້ນທ່ານຕ້ອງໄດ້ປັບປຸງບັນຊີລາຍຊື່ຂອງຫໍໄຕຂອງທ່ານໂດຍໃຊ້ຊຸດ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# 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

ສິ່ງທີ່ ສຳ ຄັນ: ຢ່າລືມທີ່ຈະທົດແທນ DISTRIBUTION_VERSION ກັບລຸ້ນແຈກຈ່າຍຂອງທ່ານ Ubuntu (ເຊັ່ນວ່າລາຄາຖືກ, ຊັດເຈນ, ຫຼື ໜ້າ ເຊື່ອຖື.) ແລະອີກຢ່າງ ໜຶ່ງ ຂອງ Debian ທົດແທນດ້ວຍ jessie ຫຼື wheezy. ຄໍາແນະນໍາກ່ຽວກັບການຕິດຕັ້ງ Linux Mint ແມ່ນຄືກັນ, ແຕ່ Petra ແມ່ນການແຈກຢາຍທີ່ຮອງຮັບໃນປະຈຸບັນເທົ່ານັ້ນ.

ຫຼັງຈາກທີ່ເພີ່ມບ່ອນເກັບຮັກສາ HHVM, ທ່ານສາມາດຕິດຕັ້ງມັນງ່າຍດັ່ງທີ່ສະແດງໄວ້.

# apt-get install -y hhvm

ການຕິດຕັ້ງ HHVM ຈະເລີ່ມຕົ້ນມັນຕັ້ງແຕ່ດຽວນີ້, ແຕ່ມັນບໍ່ໄດ້ຕັ້ງຄ່າໃຫ້ເລີ່ມຕົ້ນແບບອັດຕະໂນມັດໃນເກີບລະບົບຕໍ່ໄປ. ເພື່ອຕັ້ງຄ່າການເລີ່ມຕົ້ນອັດຕະໂນມັດໃນເກີບຕໍ່ໄປໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# update-rc.d hhvm defaults

ຂັ້ນຕອນທີ 4: ການຕັ້ງຄ່າ Nginx/Apache ເພື່ອລົມກັບ HHVM

7. ດຽວນີ້ nginx/apache ແລະ HHVM ຖືກຕິດຕັ້ງແລະເຮັດວຽກເປັນເອກະລາດ, ດັ່ງນັ້ນພວກເຮົາ ຈຳ ເປັນຕ້ອງ ກຳ ຫນົດຄ່າເຊີຟເວີເວັບທັງສອງເພື່ອລົມກັນ ສ່ວນທີ່ ສຳ ຄັນແມ່ນພວກເຮົາຕ້ອງບອກ nginx/apache ສົ່ງແຟ້ມ PHP ທັງ ໝົດ ໄປທີ່ HHVM ເພື່ອປະຕິບັດ.

ຖ້າທ່ານ ກຳ ລັງໃຊ້ Nginx, ໃຫ້ເຮັດຕາມ ຄຳ ແນະ ນຳ ນີ້ຕາມທີ່ໄດ້ອະທິບາຍ ..

ໂດຍຄ່າເລີ່ມຕົ້ນ, ການຕັ້ງຄ່າ nginx ແມ່ນຢູ່ພາຍໃຕ້/etc/nginx/sites-available/default ແລະຄ່າເຫລົ່ານີ້ເບິ່ງໃນ/usr/share/nginx/html ສຳ ລັບແຟ້ມທີ່ຈະປະຕິບັດ, ແຕ່ມັນບໍ່ຮູ້ວ່າຈະເຮັດຫຍັງກັບ PHP.

ເພື່ອເຮັດໃຫ້ Nginx ສົນທະນາກັບ HHVM, ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ດຳ ເນີນການຕໍ່ໄປນີ້ລວມມີ script ທີ່ຈະ ກຳ ນົດຄ່າ nginx ຢ່າງຖືກຕ້ອງໂດຍການວາງ hhvm.conf ໃນຕອນຕົ້ນຂອງ nginx config ດັ່ງທີ່ກ່າວມາຂ້າງເທິງ.

ບົດຂຽນນີ້ເຮັດໃຫ້ nginx ສົນທະນາກັບເອກະສານໃດໆທີ່ຈົບດ້ວຍ .hh ຫຼື .php ແລະສົ່ງໄປທີ່ HHVM ຜ່ານ fastcgi.

# /usr/share/hhvm/install_fastcgi.sh

ສິ່ງ ສຳ ຄັນ: ຖ້າທ່ານ ກຳ ລັງໃຊ້ Apache, ບໍ່ ຈຳ ເປັນຕ້ອງມີການຕັ້ງຄ່າໃດໆໃນຕອນນີ້.

8. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງໃຊ້/usr/bin/hhvm ເພື່ອສະ ໜອງ/usr/bin/php (php) ໂດຍການເຮັດວຽກ ຄຳ ສັ່ງດັ່ງລຸ່ມນີ້.

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

ຫຼັງຈາກຂັ້ນຕອນທັງ ໝົດ ຂ້າງເທິງ ສຳ ເລັດແລ້ວ, ຕອນນີ້ທ່ານສາມາດເລີ່ມຕົ້ນ HHVM ແລະທົດສອບໄດ້.

# systemctl start hhvm

ຂັ້ນຕອນທີ 5: ທົດສອບ HHVM ກັບ Nginx/Apache

9. ເພື່ອກວດສອບວ່າ hhvm ເຮັດວຽກ, ທ່ານຕ້ອງສ້າງເອກະສານ hello.php ພາຍໃຕ້ໄດເລກະທໍລີຮາກຂອງ nginx/apache.

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

ຕື່ມຂໍ້ມູນຫຍໍ້ຕໍ່ໄປນີ້ໃສ່ແຟ້ມເອກະສານນີ້.

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

ແລະຈາກນັ້ນເຂົ້າໄປທີ່ URL ຕໍ່ໄປນີ້ແລະພິສູດເພື່ອເຂົ້າໄປເບິ່ງ "ສະບາຍດີໂລກ".

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

ຖ້າ ໜ້າ“ HHVM” ປະກົດຂື້ນ, ມັນ ໝາຍ ຄວາມວ່າທ່ານໄດ້ຖືກ ກຳ ນົດແລ້ວ!

ສະຫຼຸບ

ຂັ້ນຕອນເຫຼົ່ານີ້ແມ່ນງ່າຍຫຼາຍທີ່ຈະປະຕິບັດຕາມແລະຫວັງວ່າບົດແນະ ນຳ ນີ້ຈະເປັນປະໂຫຍດແລະຖ້າທ່ານມີຂໍ້ຜິດພາດໃນລະຫວ່າງການຕິດຕັ້ງແພັກເກດໃດໆ, ຂຽນ ຄຳ ເຫັນແລະພວກເຮົາຈະຊອກຫາວິທີແກ້ໄຂຮ່ວມກັນ. ແລະແນວຄວາມຄິດເພີ່ມເຕີມໃດໆແມ່ນຍິນດີຕ້ອນຮັບ.