განსხვავებები და ოპტიმიზაციის ტექნიკა PHP-FPM კონფიგურაციის ფაილში /etc/php/8.3/fpm/pool.d/

ყველაფერი რიგზეა სერვერის გაშვების შემდეგ? სინამდვილეში, PHP-FPM-ის სამყაროში კონფიგურაციის ფაილი არის მთავარი განმსაზღვრელი ფაქტორი, რომელიც განსაზღვრავს, შეუძლია თუ არა საიტს სტაბილურად, უსაფრთხოდ და ეფექტურად მუშაობა.

რა არის PHP-FPM-ის პროცესის პულის კონფიგურაცია?

PHP-FPM (FastCGI პროცესების მენეჯერი) არის PHP პროცესების მენეჯერი, რომელიც იყენებს „პულების“ კონცეფციას სხვადასხვა ვებსაიტების ან აპლიკაციების PHP პროცესების სამართავად.

ყველა .conf ფაილი არის პულის განმარტება, რომელიც განსაზღვრავს ძირითად პარამეტრებს, როგორიცაა მომხმარებელი, რომელზეც პროცესი მუშაობს, პორტი ან სოკეტი, რომელსაც ის უსმენს, ჟურნალის გზა და პროცესების რაოდენობა.

სხვა სიტყვებით რომ ვთქვათ, ეს ფაილები თქვენი სერვერის „კლონებს“ ჰგავს, რაც სხვადასხვა საიტს საშუალებას აძლევს დამოუკიდებლად იმუშაონ ერთმანეთთან ჩარევის გარეშე.

განსხვავებები და ოპტიმიზაციის ტექნიკა PHP-FPM კონფიგურაციის ფაილში /etc/php/8.3/fpm/pool.d/

www.conf: ნაგულისხმევი პროცესების აუზი

PHP-FPM-ის ინსტალაციის შემდეგ, სისტემა ავტომატურად წარმოქმნის www.conf 文件.

მისი ფუნქციაა უზრუნველყოს ნაგულისხმევი პული, რომელიც მუშაობს ყუთიდან გაუსვლელად, როგორც წესი, მუშაობს... www-data მომხმარებელი.

ეს აუზი შესაფერისია ერთსაიტიანი გარემოსთვის, მისი კონფიგურაცია მარტივია და პარამეტრების უმეტესობა ზოგადი მნიშვნელობებია, როგორიცაა:

  • user = www-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.max_children = 5

თუ მხოლოდ ერთ საიტზე მუშაობთ, ეს საკმარისია.

etufo.org.conf: მორგებული საიტების აუზი

როდესაც რამდენიმე საიტი გაქვთ, თითოეული საიტისთვის ცალკე აუზი უნდა შექმნათ.

მაგალითად etufo.org.confეს სპეციალურად დომენური სახელებისთვისაა. etufo. ორგანიზაცია ექსკლუზიური კონფიგურაცია.

საერთო პრაქტიკაა:

  • მიუთითეთ სხვადასხვა მომხმარებლები და ჯგუფები, მაგალითად 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რადგან მას შეუძლია შეინარჩუნოს გარკვეული რაოდენობის უმოქმედო პროცესები და თავიდან აიცილოს 500 შეცდომა მაღალი პარალელურობის დროს.

რეკომენდებულია მისი გამოყენება მხოლოდ მაშინ, როდესაც წვდომის მოცულობა ძალიან დაბალია და მეხსიერების რესურსები შეზღუდულია. 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მრავალსაიტიანი აპლიკაციებისთვის, ჩვენ გირჩევთ, დაუყოვნებლივ შეამოწმოთ და ოპტიმიზაცია გაუკეთოთ ამ პულის ფაილებს, განსაკუთრებით პროცესის პულის პარამეტრების პარამეტრებს, რათა თქვენი სერვერი ნამდვილად მყარი იყოს.

იმედი ჩენ ვეილიანგის ბლოგი ( https://www.chenweiliang.com/ შესაძლოა, აქ გაზიარებული სტატია „PHP-FPM /etc/php/8.3/fpm/pool.d/ კონფიგურაციის ფაილის განსხვავებები და ოპტიმიზაციის ტექნიკები“ თქვენთვის სასარგებლო იყოს.

კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-33845.html

მეტი ფარული ხრიკის გასახსნელად🔑, კეთილი იყოს თქვენი მობრძანება ჩვენს Telegram არხზე!

გააზიარეთ და მოიწონეთ თუ მოგეწონათ! თქვენი გაზიარებები და მოწონებები ჩვენი მუდმივი მოტივაციაა!

 

评论

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. გამოყენებულია აუცილებელი ველები * ლეიბლი

სტატიების დირექტორია
გადაახვიეთ ზემოთ