Мақала анықтамалығы
Сервер іске қосылғаннан кейін бәрі дұрыс па? Шын мәнінде, PHP-FPM әлемінде конфигурация файлы сайттың тұрақты, қауіпсіз және тиімді жұмыс істей алатынын анықтайтын нағыз шебер болып табылады.
PHP-FPM үшін процесс пулының конфигурациясы қандай?
PHP-FPM (FastCGI Process Manager) - бұл әртүрлі веб-сайттар немесе қолданбалар үшін PHP процестерін басқару үшін «пулдар» тұжырымдамасын қолданатын 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Өйткені ол бос процестердің белгілі бір мөлшерін сақтай алады және жоғары параллельдік кезінде 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Көп сайтты қолданбалар үшін серверіңізді шынымен де берік ету үшін осы пул файлдарын, әсіресе процесс пулының параметрлерін дереу тексеріп, оңтайландыруды ұсынамыз.
Hope Chen Weiliang блогы ( https://www.chenweiliang.com/ Осында бөлісілген "PHP-FPM /etc/php/8.3/fpm/pool.d/ конфигурация файлының айырмашылықтары мен оңтайландыру әдістері" мақаласы сізге пайдалы болуы мүмкін.
Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-33845.html

