ວິທີການເປີດໃຊ້ແລະກວດສອບສະຖານະພາບ PHP-FPM ໃນ Nginx


PHP-FPM (FastCGI Process Manager) ແມ່ນການປະຕິບັດ PHP FastCGI ທາງເລືອກອື່ນທີ່ມາພ້ອມກັບຄຸນລັກສະນະພິເສດທີ່ມີປະໂຫຍດ ສຳ ລັບເວັບໄຊທ໌ທີ່ມີຂະ ໜາດ ໃດກໍ່ຕາມ, ໂດຍສະເພາະເວັບໄຊທີ່ໄດ້ຮັບການຈະລາຈອນສູງ.

ມັນຖືກນໍາໃຊ້ທົ່ວໄປໃນ LEMP (Linux Nginx MySQL/MariaDB PHP); Nginx ໃຊ້ PHP FastCGI ສຳ ລັບການຮັບໃຊ້ເນື້ອຫາ HTTP ແບບເຄື່ອນໄຫວໃນເຄືອຂ່າຍ. ມັນໄດ້ຖືກນໍາໃຊ້ເພື່ອໃຫ້ບໍລິການຫລາຍລ້ານ ຄຳ ຮ້ອງຂໍໃຊ້ PHP ສຳ ລັບຫລາຍຮ້ອຍເວັບໄຊທ໌ເທິງເວັບເຊີຟເວີໃນອິນເຕີເນັດ.

ໜຶ່ງ ໃນຄຸນລັກສະນະທີ່ເປັນປະໂຫຍດຂອງ php-fpm ແມ່ນ ໜ້າ ສ້າງສະຖານະພາບເຊິ່ງສາມາດຊ່ວຍທ່ານຕິດຕາມສຸຂະພາບຂອງມັນໄດ້. ໃນບົດຄວາມນີ້, ພວກເຮົາຈະສະແດງວິທີການເປີດໃຊ້ ໜ້າ ສະຖານະພາບ PHP-FPM ໃນ Linux.

ວິທີການເປີດໃຊ້ ໜ້າ ສະຖານະພາບ PHP-FPM ໃນ Linux

ທໍາອິດເປີດເອກະສານການຕັ້ງຄ່າ php-fpm ແລະເປີດໃຊ້ ໜ້າ ສະຖານະພາບດັ່ງທີ່ສະແດງ.

$ sudo vim /etc/php-fpm.d/www.conf 
OR
$ sudo vim /etc/php/7.2/fpm/pool.d/www.conf	#for PHP versions 5.6, 7.0, 7.1

ພາຍໃນເອກະສານນີ້, ຄົ້ນຫາແລະບໍ່ເອົາໃຈໃສ່ການປ່ຽນແປງຕົວປ່ຽນແປງ pm.status_path =/status ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍ.

ບັນທຶກການປ່ຽນແປງແລະອອກຈາກແຟ້ມ.

ຕໍ່ໄປ, ກວດເບິ່ງວ່າເອກະສານການຕັ້ງຄ່າຂອງ PHP-FPM ສຳ ລັບຂໍ້ຜິດພາດໃດໆໂດຍການ ດຳ ເນີນການ ຄຳ ສັ່ງດ້ານລຸ່ມ.

$ sudo php-fpm -t
OR
$ sudo php7.2-fpm -t

ຫຼັງຈາກນັ້ນໃຫ້ບໍລິການ PHP-FPM ເລີ່ມ ໃໝ່ ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ ໃໝ່ໆ.

$ sudo systemctl restart php-fpm
OR
$ sudo systemctl restart php7.2-fpm

ຕໍ່ໄປ, ດັດແກ້ເອກະສານການຕັ້ງຄ່າຂອງເຄື່ອງແມ່ຂ່າຍໃນຕອນຕົ້ນຂອງທ່ານ (virtual host) ແລະເພີ່ມບລັອກສະຖານທີ່ຢູ່ດ້ານລຸ່ມໃນນັ້ນ. ຕົວຢ່າງໃນລະບົບທົດສອບ, ເອກະສານ config ຂອງ server server ໃນຕອນຕົ້ນແມ່ນ /etc/nginx/conf.d/default.conf, ສຳ ລັບ site. test.lab.

$ sudo vim /etc/nginx/conf.d/default.conf 

ນີ້ແມ່ນບລັອກສະຖານທີ່ທີ່ຈະຖືກເພີ່ມ. ໃນການຕັ້ງຄ່ານີ້, ພວກເຮົາໄດ້ອະນຸຍາດໃຫ້ເຂົ້າເຖິງສະຖານະພາບໃນຂະບວນການຂອງ PHP-FPM ພາຍໃນ localhost ໂດຍໃຊ້ ຄຳ ສັ່ງແນະ ນຳ 127.0.0.1 ສຳ ລັບເຫດຜົນດ້ານຄວາມປອດໄພ.

location ~ ^/(status|ping)$ {
        allow 127.0.0.1;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass   unix:/var/run/php7.2-fpm.sock;
}

ບັນທຶກເອກະສານແລະປິດມັນ.

ຫຼັງຈາກນັ້ນ, ເລີ່ມຕົ້ນເຊີບເວີ Nginx ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງຂ້າງເທິງ.

$ sudo systemctl restart nginx

ຕອນນີ້ເປີດ browser ແລ້ວພິມ URL http://test.lab/status ເພື່ອເບິ່ງສະຖານະຂອງໂປຣແກຣມ PHP-FPM ຂອງທ່ານ.

ອີກທາງເລືອກ, ໃຊ້ໂປແກຼມ curl ດັ່ງຕໍ່ໄປນີ້, ບ່ອນທີ່ທຸງ -L ລະບຸ ຕຳ ແໜ່ງ ຂອງ ໜ້າ.

$ curl -L http://test.lab/status

ໂດຍຄ່າເລີ່ມຕົ້ນ, ໜ້າ ສະຖານະພາບພຽງແຕ່ພິມສະຫຼຸບສັງລວມຫຼືສະຖານະສັ້ນ. ເພື່ອເບິ່ງສະຖານະພາບ ສຳ ລັບແຕ່ລະຂະບວນການສະລອຍນ້ ຳ, ໃຫ້ຂຽນ“ ເຕັມ” ໃສ່ສາຍ ຄຳ ຖາມ, ຍົກຕົວຢ່າງ:

http://www.foo.bar/status?full

ທ່ານສາມາດ ກຳ ນົດຮູບແບບຜົນຜະລິດ (JSON, HTML ຫຼື XML) ຕາມທີ່ສະແດງ.

http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full

ຂ້າງລຸ່ມນີ້ແມ່ນຄ່າທີ່ຖືກສົ່ງກັບໃນ php-fpm ສະຖານະພາບເຕັມ, ສຳ ລັບແຕ່ລະຂະບວນການ:

  • pid - PID ຂອງຂະບວນການ.
  • ສະຖານະພາບຂັ້ນຕອນຂອງລັດ (ບໍ່ເຮັດວຽກ, ແລ່ນແລະອື່ນໆ).
  • ເວລາເລີ່ມຕົ້ນ - ວັນທີແລະເວລາທີ່ຂັ້ນຕອນເລີ່ມຕົ້ນ.
  • ເລີ່ມຕົ້ນຕັ້ງແຕ່ - ຈຳ ນວນວິນາທີນັບຕັ້ງແຕ່ຂັ້ນຕອນເລີ່ມຕົ້ນ.
  • ຄຳ ຮ້ອງຂໍ - ຈຳ ນວນ ຄຳ ຮ້ອງຂໍທີ່ຂະບວນການໄດ້ຮັບໃຊ້.
  • ໄລຍະເວລາການຮ້ອງຂໍ - ໄລຍະເວລາໃນ µs ຂອງ ຄຳ ຮ້ອງຂໍ.
  • ວິທີການຮ້ອງຂໍ - ວິທີການຮ້ອງຂໍ (GET, POST, ແລະອື່ນໆ).
  • ຮ້ອງຂໍ URI - ຮ້ອງຂໍ URI ດ້ວຍສາຍ ຄຳ ຖາມ.
  • ຄວາມຍາວເນື້ອຫາ - ຄວາມຍາວຂອງ ຄຳ ຮ້ອງຂໍ (ພຽງແຕ່ກັບ POST).
  • ຜູ້ໃຊ້ - ຜູ້ໃຊ້ (PHP_AUTH_USER) (ຫຼື '- ຖ້າບໍ່ໄດ້ ກຳ ນົດ).
  • ອັກສອນ - ຕົວອັກສອນຫຼັກທີ່ເອີ້ນວ່າ (ຫຼື ‘-‘ ຖ້າບໍ່ໄດ້ ກຳ ນົດ).
  • ຄຳ ຮ້ອງຂໍສຸດທ້າຍ cpu -% cpu ຄຳ ຮ້ອງຂໍສຸດທ້າຍທີ່ບໍລິໂພກ (ໃຫ້ສັງເກດວ່າມັນສະເຫມີ 0 ຖ້າຂະບວນການບໍ່ຢູ່ໃນສະຖານະການບໍ່ເຮັດວຽກ).
  • ຄວາມຊົງ ຈຳ ຂອງການຮ້ອງຂໍຄັ້ງສຸດທ້າຍ - ຈຳ ນວນຄວາມ ຈຳ ສູງສຸດຂອງ ຄຳ ຂໍສຸດທ້າຍທີ່ບໍລິໂພກ (ມັນສະເຫມີ 0 ຖ້າຂະບວນການບໍ່ຢູ່ໃນສະຖານະການບໍ່ຢູ່).

ນັ້ນແມ່ນ ສຳ ລັບດຽວນີ້! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການເປີດໃຊ້ ໜ້າ ສະຖານະພາບ php-fpm ພາຍໃຕ້ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx. ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບພວກເຮົາ.