PHP-FPM конфигурация файлындагы /etc/php/8.3/fpm/pool.d/ айырмачылыктары жана оптималдаштыруу ыкмалары.

Сервер иштеп баштагандан кийин баары жайындабы? Чындыгында, PHP-FPM дүйнөсүндө конфигурация файлы сайттын туруктуу, коопсуз жана натыйжалуу иштей алабы же жокпу, аны аныктоочу чыныгы башкы ой болуп саналат.

PHP-FPM үчүн процесс пулунун конфигурациясы кандай?

PHP-FPM (FastCGI Process Manager) - бул ар кандай веб-сайттар же тиркемелер үчүн 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.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

Көбүрөөк жашыруун трюктарды ачуу үчүн🔑, биздин Telegram каналыбызга кошулуңуз!

Бөлүшүп, жакса лайк! Сиздин бөлүшүүлөрүңүз жана лайктарыңыз биздин туруктуу мотивациябыз!

 

发表 评论

Сиздин электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалар колдонулат * 标注

Article Directory
Жылдыруу үчүн Top