ວິທີການຕິດຕັ້ງ LEMP (Linux, Nginx, MariaDB, PHP-FPM) ໃນ Debian 9 Stretch


ເນື່ອງຈາກວ່າ Debian ມີອັດຕາສ່ວນໃຫຍ່ຂອງເຄື່ອງແມ່ຂ່າຍເວັບທົ່ວໂລກ, ໃນບົດຄວາມນີ້ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງ LEMP (Linux + Nginx + MariaDB + PHP-FPM) ຢູ່ເທິງ Debian 9 Stretch ເປັນທາງເລືອກຂອງ LAMP (ໃຊ້ຄູ່ມືນີ້ ຕິດຕັ້ງ LAMP ໃນ Debian 9).

ນອກຈາກນັ້ນ, ພວກເຮົາຈະສະແດງວິທີການປະຕິບັດການຕັ້ງຄ່າ Nginx/PHP-FPM ທີ່ນ້ອຍທີ່ສຸດ, ສະນັ້ນເຖິງແມ່ນວ່າຜູ້ບໍລິຫານລະບົບ ໃໝ່ ສາມາດຕັ້ງເຄື່ອງແມ່ຂ່າຍເວບໄຊທ໌ ໃໝ່ ເພື່ອຕັ້ງ ໜ້າ ແບບເຄື່ອນໄຫວ.

ເພື່ອເຮັດສິ່ງນີ້, ພວກເຮົາຈະປັບປຸງການປັບປຸງ ໃໝ່ ໃຫ້ກັບຫ້ອງສະ ໝຸດ ຢ່າງເປັນທາງການຂອງການແຈກຈ່າຍ. ສົມມຸດວ່າທ່ານໄດ້ຍົກລະດັບຈາກ Jessie ແລ້ວ.

ການຕິດຕັ້ງ LEMP ໃນ Debian 9 Stretch

ທ່ານອາດຈະສົງໄສວ່າເປັນຫຍັງພວກເຮົາໄດ້ກ່າວເຖິງ PHP-FPM ແທນ PHP ເປັນສ່ວນ ໜຶ່ງ ຂອງ LEMP stack. ກົງກັນຂ້າມກັບເຄື່ອງແມ່ຂ່າຍເວັບອື່ນໆ, Nginx ບໍ່ໄດ້ໃຫ້ການສະ ໜັບ ສະ ໜູນ ແບບພື້ນເມືອງ ສຳ ລັບ PHP.

ດ້ວຍເຫດຜົນນັ້ນ, PHP-FPM (ຜູ້ຈັດການປະມວນຜົນໄວ) ຖືກ ນຳ ໃຊ້ເພື່ອຈັດການການຮ້ອງຂໍ ສຳ ລັບ ໜ້າ PHP. ທ່ານສາມາດຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບ PHP-FPM ໃນເວັບໄຊທ໌ທາງການຂອງ PHP.

ຮຸ່ນເລີ່ມຕົ້ນທີ່ສະ ໜອງ ໃນຫໍໄຕ Debian php7.0-fpm. ດັ່ງທີ່ທ່ານອາດຈະຄາດເດົາໄດ້ໂດຍອີງໃສ່ຊື່ຂອງແພັກເກດ, ຮຸ່ນນີ້ສາມາດຈັດການກັບ ຄຳ ຮ້ອງຂໍໄປຍັງ ໜ້າ ເວັບຕ່າງໆລວມທັງລະຫັດ PHP 7.

ໝາຍ ເຫດ: ຖ້າ Apache ໄດ້ຕິດຕັ້ງຢູ່ໃນປ່ອງດຽວກັນກ່ອນ ໜ້າ ນີ້, ໃຫ້ແນ່ໃຈວ່າມັນຖືກຢຸດແລະພິການກ່ອນ ດຳ ເນີນການ.

ດ້ວຍສິ່ງນັ້ນກ່າວວ່າ, ໃຫ້ຕິດຕັ້ງສ່ວນປະກອບຂອງ LEMP stack ດັ່ງຕໍ່ໄປນີ້:

# aptitude update 
# aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ທຳ ອິດໃຫ້ແນ່ໃຈວ່າ Nginx ແລະ PHP-FPM ກຳ ລັງແລ່ນແລະເປີດໃຊ້ງານເພື່ອເລີ່ມຕົ້ນການໃສ່ເກີບ:

# systemctl status nginx php7.0-fpm

ຖ້າຊີ້ໃຫ້ເຫັນວ່າບໍລິການ ໜຶ່ງ ຫລືທັງສອງບໍ່ໄດ້ເຮັດວຽກ, ແລ້ວກໍ່ເຮັດ.

# systemctl start nginx php7.0-fpm
# systemctl enable nginx php7.0-fpm

ຄືກັນກັບທຸກໆການຕິດຕັ້ງ MariaDB ຫຼື MySQL, ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ຈະຕ້ອງ ດຳ ເນີນການ mysql_secure_installation ເພື່ອ ດຳ ເນີນການຕັ້ງຄ່າຄວາມປອດໄພ ໜ້ອຍ ທີ່ສຸດແລະຕັ້ງລະຫັດລັບ ສຳ ລັບບັນຊີຮາກຖານຂໍ້ມູນ.

# mysql_secure_installation

ຖ້າທ່ານບໍ່ຮູ້ວິທີເຮັດມັນ, ທ່ານສາມາດອ້າງອີງໃສ່ຂັ້ນຕອນທີ 4 ໃນວິທີການຕິດຕັ້ງ MariaDB 10 ໃນ Debian ແລະ Ubuntu.

ການຕັ້ງຄ່າ Nginx ເພື່ອໃຊ້ PHP-FPM ໃນ Debian 9

ເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍຂອງ Nginx ແມ່ນ/etc/nginx/sites-available/default, ບ່ອນທີ່ພວກເຮົາຈະຕ້ອງເຮັດການປ່ຽນແປງຕໍ່ໄປນີ້ພາຍໃນ block server:

  • ຮັບປະກັນບລັອກທີ່ຕັ້ງທີ່ຈັດການກັບການຮ້ອງຂໍ PHP ຖືກເປີດໃຊ້, ຍົກເວັ້ນ ໜຶ່ງ ໃນບ່ອນທີ່ຈຸດຊີ້ ນຳ fastcgi_pass ກັບ loop NIC.
  • ເພີ່ມ index.php ຫຼັງຈາກ ຄຳ ສັ່ງດັດສະນີເພື່ອຊີ້ບອກວ່າຖ້າພົບ, ມັນຄວນຈະຖືກບໍລິການໂດຍຄ່າເລີ່ມຕົ້ນກ່ອນ index.html ຫຼືເອກະສານອື່ນໆ.
  • ເພີ່ມ ຄຳ ສັ່ງໂດຍກົງຂອງ server_name ທີ່ຊີ້ໄປທີ່ຢູ່ IP ຫຼືຊື່ໂຮດຂອງ server ຂອງທ່ານ. ນີ້ແມ່ນປີ 192.168.0.35 ໃນກໍລະນີຂອງພວກເຮົາ.
  • ນອກຈາກນັ້ນ, ໃຫ້ແນ່ໃຈວ່າ ຄຳ ສັ່ງຮາກຊີ້ໄປທີ່ສະຖານທີ່ບ່ອນທີ່ແຟ້ມ .php ຂອງທ່ານຈະຖືກເກັບໄວ້ (/ var/www/html ໂດຍຄ່າເລີ່ມຕົ້ນ).

ເມື່ອທ່ານເຮັດ ສຳ ເລັດແລ້ວ, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອທົດສອບເອກະສານການຕັ້ງຄ່າ ສຳ ລັບຂໍ້ຜິດພາດ.

# nginx -t 

ໃນຈຸດນີ້,/etc/nginx/sites-available/default ຂອງທ່ານຄວນເບິ່ງດັ່ງຕໍ່ໄປນີ້ບ່ອນທີ່ຕົວເລກອ້າງອີງການຕັ້ງຄ່າເປັນຕົວແທນຢູ່ຂ້າງເທິງ:

# grep -Ev '#' /etc/nginx/sites-available/default

ການທົດສອບ Nginx ແລະ PHP-FPM ກ່ຽວກັບ Debian 9

ເພື່ອໃຫ້ແນ່ໃຈວ່າຕອນນີ້ພວກເຮົາ ກຳ ລັງໃຊ້ Nginx ເປັນເຄື່ອງແມ່ຂ່າຍເວັບ, ໃຫ້ສ້າງແຟ້ມທີ່ມີຊື່ວ່າ info.php ພາຍໃນ/var/www/html ດ້ວຍເນື້ອໃນຕໍ່ໄປນີ້:

<?php
	phpinfo();
?>

ຈາກນັ້ນເຂົ້າໄປທີ່ http://192.168.0.35/info.php ແລະກວດເບິ່ງດ້ານເທິງຂອງ ໜ້າ ທີ່ທ່ານຄວນເບິ່ງນີ້:

ໃນທີ່ສຸດ, ຂໍຊີ້ໃຫ້ຕົວທ່ອງເວັບຂອງພວກເຮົາໄປຫາເອກະສານ booksandauthors.php ທີ່ພວກເຮົາສ້າງຂື້ນໃນການຕິດຕັ້ງ LAMP (Linux, Apache, MariaDB ຫຼື MySQL ແລະ PHP) Stack on Debian 9.

ດັ່ງທີ່ທ່ານສາມາດເຫັນໃນຮູບຕໍ່ໄປນີ້, ເອກະສານນີ້ ກຳ ລັງຖືກບໍລິການໂດຍ Nginx:

ໝາຍ ເຫດ: ຖ້າທ່ານສັງເກດເຫັນວ່າ Nginx ໃຫ້ບໍລິການແຟ້ມ .php ເປັນການດາວໂຫລດແທນທີ່ຈະປະຕິບັດພວກມັນ, ໃຫ້ລຶບ cache ຂອງ browser ຫຼືລອງໃຊ້ browser ອື່ນ. ໂດຍສະເພາະ, ຖ້າທ່ານ ກຳ ລັງໃຊ້ Chrome ທ່ານອາດຈະຕ້ອງການທົດສອບດ້ວຍ ໂໝດ incognito.

ໃນບົດຂຽນນີ້ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງແລະ ກຳ ຫນົດ Nginx ເພື່ອຮັບໃຊ້ ໜ້າ .php ໜ້າ ແບບເຄື່ອນໄຫວ. ມັນເປັນສິ່ງສໍາຄັນທີ່ຄວນສັງເກດວ່າຫຼັງຈາກການຕິດຕັ້ງເບື້ອງຕົ້ນນີ້ມີການຕັ້ງຄ່າທີ່ຄວນ ຄຳ ນຶງເຖິງເພື່ອຮັບປະກັນເຄື່ອງແມ່ຂ່າຍເວັບ.

ທ່ານອາດຈະຊອກຫາບົດສະຫຼຸບຂັ້ນພື້ນຖານໃນຄູ່ມືສຸດທ້າຍເພື່ອຄວາມປອດໄພ, ແຂງກະດ້າງແລະປັບປຸງການເຮັດວຽກຂອງ Nginx Web Server.

ຖ້າທ່ານ ກຳ ລັງຊອກຫາໂຮດຕິ້ງເສມືນໃນ Nginx, ອ່ານວິທີການຕັ້ງຄ່າໂຮດຕິ້ງ Virtual Virtual-based IP ທີ່ NGINX.

ດັ່ງທີ່ເຄີຍເຮັດ, ຢ່າລັງເລທີ່ຈະແຈ້ງໃຫ້ພວກເຮົາທາບຖ້າທ່ານມີ ຄຳ ຖາມຫຼື ຄຳ ເຫັນກ່ຽວກັບບົດຄວາມນີ້.