ວິທີການຕິດຕັ້ງ 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.
ດັ່ງທີ່ເຄີຍເຮັດ, ຢ່າລັງເລທີ່ຈະແຈ້ງໃຫ້ພວກເຮົາທາບຖ້າທ່ານມີ ຄຳ ຖາມຫຼື ຄຳ ເຫັນກ່ຽວກັບບົດຄວາມນີ້.