ລາຍການຫົວເລື່ອງ
ທຸກຢ່າງດີແລ້ວບໍເມື່ອເຊີບເວີເຮັດວຽກແລ້ວ? ຕົວຈິງແລ້ວ, ໃນໂລກຂອງ PHP-FPM, ໄຟລ໌ການຕັ້ງຄ່າແມ່ນຕົວກຳນົດທີ່ແທ້ຈິງ, ກຳນົດວ່າເວັບໄຊທ໌ສາມາດເຮັດວຽກໄດ້ຢ່າງໝັ້ນຄົງ, ປອດໄພ ແລະ ມີປະສິດທິພາບຫຼືບໍ່.
ການຕັ້ງຄ່າສະລອຍນ້ຳຂະບວນການສຳລັບ PHP-FPM ແມ່ນຫຍັງ?
PHP-FPM (FastCGI Process Manager) ເປັນຕົວຈັດການຂະບວນການສຳລັບ PHP ທີ່ໃຊ້ແນວຄວາມຄິດຂອງ "pools" ເພື່ອຈັດການຂະບວນການ PHP ສຳລັບເວັບໄຊທ໌ ຫຼື ແອັບພລິເຄຊັນຕ່າງໆ.
ທຸກໆ .conf ໄຟລ໌ແມ່ນຄຳນິຍາມຂອງສະນຸກເກີທີ່ລະບຸພາລາມິເຕີຫຼັກເຊັ່ນ: ຜູ້ໃຊ້ທີ່ຂະບວນການເຮັດວຽກ, ພອດ ຫຼື ຊັອກເກັດທີ່ມັນຮັບຟັງ, ເສັ້ນທາງບັນທຶກ, ແລະ ຈຳນວນຂອງຂະບວນການ.
ເວົ້າອີກຢ່າງໜຶ່ງ, ໄຟລ໌ເຫຼົ່ານີ້ແມ່ນຄືກັບ "ໂຄນ" ສຳລັບເຊີບເວີຂອງທ່ານ, ຊ່ວຍໃຫ້ເວັບໄຊທ໌ຕ່າງໆສາມາດດຳເນີນການໄດ້ຢ່າງເປັນອິດສະຫຼະໂດຍບໍ່ມີການແຊກແຊງເຊິ່ງກັນແລະກັນ.

www.conf: ກຸ່ມຂະບວນການເລີ່ມຕົ້ນ
ຫຼັງຈາກຕິດຕັ້ງ PHP-FPM ແລ້ວ, ລະບົບຈະສ້າງໄຟລ໌ໂດຍອັດຕະໂນມັດ www.conf ເອກະສານ.
ໜ້າທີ່ຂອງມັນແມ່ນເພື່ອສະໜອງສະລອຍນ້ຳເລີ່ມຕົ້ນທີ່ເຮັດວຽກຢູ່ນອກກ່ອງ, ໂດຍປົກກະຕິແລ້ວຈະແລ່ນຢູ່ໃນ... www-data ຜູ້ໃຊ້.
ສະນຸກເກີນີ້ເໝາະສົມສຳລັບສະພາບແວດລ້ອມຂອງສະຖານທີ່ດຽວ, ງ່າຍຕໍ່ການຕັ້ງຄ່າ, ແລະພາລາມິເຕີສ່ວນໃຫຍ່ແມ່ນຄ່າທົ່ວໄປ, ເຊັ່ນ:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
ຖ້າທ່ານພຽງແຕ່ແລ່ນຢູ່ໃນເວັບໄຊທ໌ດຽວ, ນີ້ແມ່ນພຽງພໍ.
etufo.org.conf: ກຸ່ມເວັບໄຊທີ່ກຳນົດເອງ
ເມື່ອທ່ານມີຫຼາຍເວັບໄຊທ໌, ທ່ານຈໍາເປັນຕ້ອງສ້າງກຸ່ມຂໍ້ມູນແຍກຕ່າງຫາກສໍາລັບແຕ່ລະເວັບໄຊທ໌.
ເຊັ່ນວ່າ etufo.org.confມັນແມ່ນສະເພາະສຳລັບຊື່ໂດເມນ. etufo.org ການຕັ້ງຄ່າພິເສດ.
ການປະຕິບັດທົ່ວໄປແມ່ນ:
- ລະບຸຜູ້ໃຊ້ ແລະ ກຸ່ມທີ່ແຕກຕ່າງກັນ, ຕົວຢ່າງ
user = etufo,group = etufo - ຕົວຢ່າງເຊັ່ນ ຕັ້ງຄ່າພອດຟັງ ຫຼື ຊັອກເກັດແຍກຕ່າງຫາກ
listen = /run/php/etufo.sock - ປັບຈຳນວນຂະບວນການເພື່ອຮັບປະກັນຄວາມໝັ້ນຄົງຂອງສະຖານທີ່ພາຍໃຕ້ການເຮັດວຽກພ້ອມກັນສູງ.
- ໄຟລ໌ບັນທຶກທີ່ເປັນເອກະລາດຊ່ວຍອຳນວຍຄວາມສະດວກໃນການແກ້ໄຂບັນຫາ.
ຂໍ້ໄດ້ປຽບຂອງວິທີການນີ້ແມ່ນການແຍກຄວາມປອດໄພ: ເຖິງແມ່ນວ່າເວັບໄຊທ໌ໜຶ່ງຖືກໂຈມຕີ, ເວັບໄຊທ໌ອື່ນໆຈະບໍ່ໄດ້ຮັບຜົນກະທົບ.
dummy.conf: ຕົວຢ່າງ ຫຼື ໄຟລ໌ຕົວຍຶດ
dummy.conf ໂດຍປົກກະຕິແລ້ວສິ່ງເຫຼົ່ານີ້ແມ່ນແມ່ແບບ ຫຼື ຕົວຢ່າງທີ່ສະໜອງໃຫ້ໂດຍລະບົບ.
ມັນຈະບໍ່ຖືກເປີດໃຊ້ງານ ເວັ້ນເສຍແຕ່ວ່າທ່ານຈະດັດແປງ ແລະ ເປີດໃຊ້ມັນດ້ວຍຕົນເອງ.
ຈຸດປະສົງຂອງມັນແມ່ນເພື່ອໃຫ້ທ່ານມີເອກະສານອ້າງອີງ ແລະ ສະແດງວິທີການຂຽນການຕັ້ງຄ່າສະລອຍນ້ຳໃໝ່.
ດັ່ງນັ້ນ, ມັນຈຶ່ງຄ້າຍຄືກັບ "ຄູ່ມືການໃຊ້ງານ" ຫຼາຍກວ່າການຕັ້ງຄ່າຕົວຈິງສຳລັບການດຳເນີນງານ.
ເປັນຫຍັງຈຶ່ງຕ້ອງໃຊ້ໄຟລ໌ສະນຸກເກີຫຼາຍໄຟລ໌?
- ຄວາມປອດໄພເວັບໄຊທ໌ທີ່ແຕກຕ່າງກັນຄວນຖືກດໍາເນີນການໂດຍຜູ້ໃຊ້ທີ່ແຕກຕ່າງກັນເພື່ອຫຼີກເວັ້ນການຊໍ້າຊ້ອນສິດອະນຸຍາດ.
- 性能优化ຈຳນວນຂະບວນການສາມາດຕັ້ງຄ່າແຍກຕ່າງຫາກສຳລັບແຕ່ລະກຸ່ມ ແລະ ປັບຕາມຄວາມຕ້ອງການຂອງການຈະລາຈອນ.
- ການແຍກດ່ຽວບັນທຶກ, ຜົນຜະລິດຄວາມຜິດພາດ, ແລະ ພອດຟັງທັງໝົດແມ່ນແຍກອອກຈາກກັນ, ເຮັດໃຫ້ການແກ້ໄຂບັນຫາງ່າຍຂຶ້ນ.
ຕົວຢ່າງ, ຖ້າ www.conf ມັນພັງລົງ.etufo.org.conf ມັນຍັງສາມາດເຮັດວຽກໄດ້ຕາມປົກກະຕິ ແລະ ຈະບໍ່ເຮັດໃຫ້ເຊີບເວີທັງໝົດລົ້ມລົງ.
ສະຖານະການຄໍາຮ້ອງສະຫມັກຕົວຈິງ
- ເຊີບເວີເວັບໄຊທ໌ດຽວໃຊ້ເທົ່ານັ້ນ
www.confພຽງພໍແລ້ວ. - ເຊີບເວີຫຼາຍເວັບໄຊທ໌ສ້າງອັນໜຶ່ງສຳລັບແຕ່ລະເວັບໄຊ
.confໄຟລ໌ຕ່າງໆ ເຊັ່ນetufo.org.conf. - dummy.confສຳລັບອ້າງອີງເທົ່ານັ້ນ, ບໍ່ແນະນຳ.
ຕົວຢ່າງການປຽບທຽບການຕັ້ງຄ່າ
www.conf (ກຸ່ມເລີ່ມຕົ້ນ)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (ກຸ່ມທີ່ກຳນົດເອງ)
[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log
ທ່ານຈະພົບວ່າຄວາມແຕກຕ່າງແມ່ນຢູ່ທີ່ຜູ້ໃຊ້, ທີ່ຢູ່ທີ່ຟັງ, ແລະ ຈຳນວນຂອງຂະບວນການ.
ການປັບແຕ່ງພາລາມິເຕີຂອງສະລອຍນ້ຳຂະບວນການ PHP-FPM
ຖ້າການຕັ້ງຄ່າໃຊ້ ການເຄື່ອນໄຫວນີ້ແມ່ນວິທີການເລີ່ມຕົ້ນຂະບວນການເຮັດວຽກບາງຢ່າງແລະປັບຕົວແບບເຄື່ອນໄຫວຕາມປະລິມານການຮ້ອງຂໍ, ເຊິ່ງສາມາດຕອບສະຫນອງໄດ້ໄວຂຶ້ນເມື່ອປະລິມານການຮ້ອງຂໍເພີ່ມຂຶ້ນຢ່າງກະທັນຫັນ.
ສໍາລັບເວັບໄຊທ໌ທີ່ມີຈໍານວນການເຂົ້າຊົມທີ່ແນ່ນອນ, ແນະນໍາໃຫ້ໃຊ້ pm = dynamicເນື່ອງຈາກວ່າມັນສາມາດຮັກສາຈໍານວນທີ່ແນ່ນອນຂອງຂະບວນການ idle ແລະຫຼີກເວັ້ນການ 500 ຄວາມຜິດພາດໃນລະຫວ່າງການ concurrency ສູງ.
ມັນແນະນໍາໃຫ້ໃຊ້ມັນພຽງແຕ່ໃນເວລາທີ່ປະລິມານການເຂົ້າເຖິງຕ່ໍາສຸດແລະຊັບພະຍາກອນຫນ່ວຍຄວາມຈໍາແຫນ້ນ. pm = ondemand ເພື່ອຊ່ວຍປະຢັດຊັບພະຍາກອນ.
ແນະນຳໃຫ້ປ່ຽນມັນເປັນແບບໄດນາມິກ ແລະ ເພີ່ມປະສິດທິພາບມັນ. pm.max_children ແລະຕົວກໍານົດການອື່ນໆ:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
ການຕັ້ງຄ່ານີ້ຮັບປະກັນປະສິດທິພາບໃນຂະນະທີ່ຫຼີກລ່ຽງການສູນເສຍຊັບພະຍາກອນ.
ສຳລັບຄຳແນະນຳການຕັ້ງຄ່າລະອຽດ, ກະລຸນາອ້າງອີງເຖິງບົດແນະນຳຕໍ່ໄປນີ້ ▼
ອີງຕາມເອກະສານ PHP ຢ່າງເປັນທາງການ:
"ແຕ່ລະສະລອຍນ້ຳສາມາດຕັ້ງຄ່າໄດ້ຢ່າງເປັນອິດສະຫຼະ, ອະນຸຍາດໃຫ້ຜູ້ໃຊ້, ຂໍ້ຈຳກັດ ແລະ ການຕັ້ງຄ່າທີ່ແຕກຕ່າງກັນຕໍ່ແອັບພລິເຄຊັນ."
ຖະແຫຼງການນີ້ຊີ້ໃຫ້ເຫັນຢ່າງຈະແຈ້ງເຖິງຄວາມສຳຄັນຂອງການຕັ້ງຄ່າຫຼາຍສະລອຍນ້ຳຄື: ຄວາມເປັນເອກະລາດ, ຄວາມຍືດຫຍຸ່ນ ແລະ ການຄວບຄຸມ.
ສະຫຼຸບ: ທັດສະນະຂອງຂ້ອຍ
ການຕັ້ງຄ່າເຊີບເວີແມ່ນຄືກັບຜູ້ອຳນວຍການວົງດົນຕີໃນວົງດົນຕີອໍເຄສຕຣາ, ເຊິ່ງກຳນົດວ່າເຄື່ອງດົນຕີແຕ່ລະອັນຄວນຫຼິ້ນແນວໃດ.
www.conf ມັນເປັນຜູ້ອຳນວຍການດົນຕີຕາມຄ່າເລີ່ມຕົ້ນ, ເໝາະສຳລັບການສະແດງດ່ຽວ;etufo.org.conf ມັນເປັນຜູ້ອຳນວຍການດົນຕີທີ່ຖືກອອກແບບມາສຳລັບເວທີສະເພາະ; ແລະ dummy.conf ມັນເປັນຮ່າງຄະແນນດົນຕີ, ເຊິ່ງເຕືອນທ່ານກ່ຽວກັບວິທີການຂຽນທຳນອງໃໝ່.
ໃນຍຸກທີ່ສຸມໃສ່ຄວາມປອດໄພຂອງຂໍ້ມູນ ແລະ ການເພີ່ມປະສິດທິພາບການເຮັດວຽກ, ການຮູ້ວິທີການໃຊ້ໄຟລ໌ການຕັ້ງຄ່າເຫຼົ່ານີ້ຢ່າງຖືກຕ້ອງແມ່ນກຸນແຈສຳຄັນໃນການຄວບຄຸມສາຍຊີວິດຂອງເຊີບເວີ.
ການຕັ້ງຄ່າບໍ່ພຽງແຕ່ເປັນຂໍ້ຄວາມທີ່ບໍ່ສຳຄັນເທົ່ານັ້ນ; ມັນເປັນຈິດວິນຍານຂອງເຊີບເວີ.
ຖ້າທ່ານກຳລັງດຳເນີນງານWordPressສຳລັບແອັບພລິເຄຊັນຫຼາຍເວັບໄຊທ໌, ພວກເຮົາຂໍແນະນຳຢ່າງຍິ່ງໃຫ້ທ່ານກວດສອບ ແລະ ເພີ່ມປະສິດທິພາບໄຟລ໌ສະລອຍນ້ຳເຫຼົ່ານີ້ທັນທີ, ໂດຍສະເພາະການຕັ້ງຄ່າພາລາມິເຕີສະລອຍນ້ຳຂະບວນການ, ເພື່ອເຮັດໃຫ້ເຊີບເວີຂອງທ່ານແຂງແກ່ນແທ້ໆ.
ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ບົດຄວາມ "ຄວາມແຕກຕ່າງ ແລະ ເຕັກນິກການເພີ່ມປະສິດທິພາບຂອງໄຟລ໌ການຕັ້ງຄ່າ PHP-FPM /etc/php/8.3/fpm/pool.d/" ທີ່ແບ່ງປັນຢູ່ນີ້ອາດຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-33845.html

