Məqalələr kataloqu
Server işlədikdən sonra hər şey qaydasındadırmı? Əslində, PHP-FPM dünyasında konfiqurasiya faylı saytın sabit, təhlükəsiz və səmərəli işləyə biləcəyini müəyyən edən əsl master-ağıldır.
PHP-FPM üçün proses hovuzunun konfiqurasiyası nədir?
PHP-FPM (FastCGI Process Manager), müxtəlif veb saytlar və ya tətbiqlər üçün PHP proseslərini idarə etmək üçün "hovuzlar" anlayışından istifadə edən PHP üçün bir proses meneceridir.
Hər .conf Fayl, prosesin işlədiyi istifadəçi, dinlədiyi port və ya soket, jurnal yolu və proseslərin sayı kimi əsas parametrləri müəyyən edən bir hovuz tərifidir.
Başqa sözlə, bu fayllar serveriniz üçün "klonlar" kimidir və fərqli saytların bir-birinə müdaxilə etmədən müstəqil şəkildə işləməsinə imkan verir.

www.conf: Standart proses hovuzu
PHP-FPM quraşdırıldıqdan sonra sistem avtomatik olaraq... www.conf sənəd.
Onun funksiyası, adətən ... daxilində işləyən, qutudan kənarda işləyən standart bir hovuz təmin etməkdir. www-data İstifadəçi.
Bu hovuz tək saytlı mühitlər üçün uyğundur, konfiqurasiya etmək asandır və parametrlərin əksəriyyəti aşağıdakı kimi ümumi dəyərlərdir:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
Yalnız bir saytda işləyirsinizsə, bu kifayətdir.
etUfo.org.conf: Xüsusi sayt hovuzu
Birdən çox saytınız varsa, hər sayt üçün ayrı bir hovuz yaratmalısınız.
kimi etufo.org.confXüsusilə domen adları üçündür. etUfo. Org Eksklüziv konfiqurasiya.
Ümumi təcrübə belədir:
- Məsələn, müxtəlif istifadəçiləri və qrupları göstərin
user = etufo,group = etufo - Məsələn, ayrı bir dinləmə portu və ya yuvasını konfiqurasiya edin
listen = /run/php/etufo.sock - Yüksək paralellik şəraitində saytın sabitliyini təmin etmək üçün proseslərin sayını tənzimləyin.
- Müstəqil jurnal faylları problemlərin həllini asanlaşdırır.
Bu yanaşmanın üstünlüyü təhlükəsizlik izolyasiyasıdır: bir sayta hücum edilsə belə, digər saytlara təsir göstərməyəcək.
dummy.conf: Nümunə və ya yer tutucu faylı
dummy.conf Bunlar adətən sistem tərəfindən təqdim edilən şablonlar və ya nümunələrdir.
Əl ilə dəyişdirib aktivləşdirməsəniz, əslində aktivləşdirilməyəcək.
Onun məqsədi sizə istinad təmin etmək və yeni bir hovuz konfiqurasiyasının necə yazılacağını göstərməkdir.
Buna görə də, bu, əməliyyat üçün faktiki konfiqurasiyadan daha çox "təlimat kitabçası"na bənzəyir.
Niyə birdən çox hovuz faylından istifadə etməlisiniz?
- 安全 性Üst-üstə düşən icazələrin qarşısını almaq üçün fərqli saytlar fərqli istifadəçilər tərəfindən idarə olunmalıdır.
- 性能优化Proseslərin sayı hər hovuz üçün fərdi olaraq təyin edilə və trafik tələbinə uyğun olaraq tənzimlənə bilər.
- İzoləQeydlər, səhv çıxışı və dinləmə portları hamısı ayrıdır və bu da problemlərin aradan qaldırılmasını asanlaşdırır.
Məsələn, əgər www.conf Çökdü.etufo.org.conf Hələ də normal işləyə bilər və bütün serveri sıradan çıxarmayacaq.
Real həyatda tətbiq ssenariləri
- Tək saytlı serverYalnız istifadə edin
www.confBu kifayətdir. - Çoxsaytlı serverHər sayt üçün bir tikin
.confFayllar, məsələnetufo.org.conf. - dummy.confYalnız istinad üçündür, tövsiyə edilmir.
Konfiqurasiya Müqayisə Nümunəsi
www.conf (standart hovuz)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (Xüsusi Hovuz)
[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
Fərqin istifadəçidə, dinləmə ünvanında və proseslərin sayında olduğunu görəcəksiniz.
PHP-FPM proses hovuz parametrlərinin tənzimlənməsi
Əgər konfiqurasiya istifadə edirsə dinamikBu, bəzi iş proseslərinin əvvəlcədən başlaması və sorğunun həcminə uyğun olaraq onları dinamik şəkildə tənzimləmək üsuludur, sorğunun həcmi qəfil artdıqda daha sürətli cavab verə bilər.
Müəyyən miqdarda trafikə malik veb saytlar üçün istifadə etmək tövsiyə olunur pm = dynamicÇünki o, müəyyən miqdarda boş prosesləri saxlaya bilir və yüksək paralellik zamanı 500 səhvdən qaça bilir.
Yalnız giriş həcmi son dərəcə aşağı olduqda və yaddaş resursları sıx olduqda istifadə etmək tövsiyə olunur. pm = ondemand Resurslara qənaət etmək üçün.
Onu dinamikə dəyişdirmək və optimallaşdırmaq tövsiyə olunur. pm.max_children Və digər parametrlər:
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 后自动退出
Bu konfiqurasiya resurs israfının qarşısını alarkən performansı təmin edir.
Ətraflı konfiqurasiya təlimatları üçün aşağıdakı təlimata baxın ▼
Rəsmi PHP sənədlərinə görə:
"Hər bir hovuz müstəqil olaraq konfiqurasiya edilə bilər və bu da tətbiq başına fərqli istifadəçilər, limitlər və parametrlər üçün imkan verir."
Bu ifadə çoxhovuzlu konfiqurasiyanın əhəmiyyətini aydın şəkildə göstərir: müstəqillik, rahatlıq və idarəolunma.
Nəticə: Mənim Baxışım
Server konfiqurasiyası, hər bir alətin necə çalınacağını müəyyən edən bir orkestrdəki dirijor kimidir.
www.conf Bu, solo çıxışlar üçün uyğun olan standart dirijordur;etufo.org.conf Bu, müəyyən bir səhnə üçün xüsusi hazırlanmış bir dirijordur; və dummy.conf Bu, sizə yeni melodiyaların necə yazılacağını xatırladan musiqi partituralarının qaralama versiyasıdır.
İnformasiya təhlükəsizliyi və performans optimallaşdırmasına yönəlmiş bir dövrdə, bu konfiqurasiya fayllarından necə düzgün istifadə edəcəyinizi bilmək serverin həyat xəttini idarə etmək üçün açardır.
Konfiqurasiya sadəcə mənasız mətn deyil; bu, serverin ruhudur.
Əgər fəaliyyət göstərirsinizsəWordPressÇoxsaytlı tətbiqlər üçün serverinizi həqiqətən möhkəm etmək üçün bu hovuz fayllarını, xüsusən də proses hovuzu parametr parametrlərini dərhal yoxlamağı və optimallaşdırmağı tövsiyə edirik.
Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ Burada paylaşılan "PHP-FPM /etc/php/8.3/fpm/pool.d/ Konfiqurasiya Faylının Fərqləri və Optimallaşdırma Texnikaları" məqaləsi sizin üçün faydalı ola bilər.
Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-33845.html

