HestiaCP PHP-FPM kei raro i te kawenga taumaha? Hapa paetukutuku hihiko 500? Ka whai mana tonu tenei arotautanga!

Kua tutaki koe ki tenei ahuatanga?Ka puhoi te uru ki te paetukutuku, ka puta he hapa 500 I muri i te whakaara ano i te PHP-FPM, ka hoki ano., engari ka puta ano te raru i muri i etahi wa? He tino pouri tenei!

He aha i penei ai?Ko te tikanga, ko te tikanga teneiKo te puna tukanga PHP-FPM kaore i te tika te whirihora, kei te iti ranei nga rauemi tūmau.na. I tenei ra, ka tino arotau tatou HestiaCP Ko te PHP-FPM i raro i te awhi ka noho te paetukutuku kia rite ki te toka!

Ko te take matua he nui te utaina o te PHP-FPM

Ko te PHP-FPM heKaiwhakahaere Tukanga, kei a ia te kawenga mo te whakahaere i nga tono hihiri. Mena kaore i te tika te whirihoranga, tera pea ka:

  • Kua pau nga rauemi a te tūmau, ka kore e taea e PHP-FPM te whakautu ki nga tono hou i te wa tika;
  • He iti rawa nga tukanga, ka piki ohorere te waka, kaore e taea te whakahaere i te waa;
  • He tiketike rawa te whakamahinga tukanga, ka pahū te uta CPU.

HestiaCP PHP-FPM kei raro i te kawenga taumaha? Hapa paetukutuku hihiko 500? Ka whai mana tonu tenei arotautanga!

Me pehea te korero mena kua taumaha te PHP-FPM?

ka taea te whakamahi tophtop Tono ki te tiro i te PTM me te whakamahi mahara:

top -c

Mena ka kite koe i nga korero tukatuka e rite ana ki enei e whai ake nei, ko te tikanga kei te rere te PHP-FPM i raro i te kawenga nui:

1669293 abc     20   0  790284 227880 185568 R  73.1   0.9   1:30.09 php-fpm: pool chenweiliang.com                                                    
1669522 abc     20   0  801924 224224 170236 R  69.9   0.9   0:59.01 php-fpm: pool chenweiliang.com

Tirohia te pehea o enei tukanga e neke ake i te 70% o te PTM? Mena ka pa mai tenei, ko to PHP-FPM Me whai raruraru!

Na, me pehea e taea ai e tatou te arotau i te whirihoranga PHP-FPM kia kore ai te tūmau e taumaha?

PHP-FPM tukanga poka wai arotautanga (whakatikatika tawhā matua)

Tuatahi, tuwhera php-fpm Kōnae Whirihoranga:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Hurihia ki to putanga PHP, penei i te PHP8.3, ka huri ki tenei:/etc/php/8.3/fpm/pool.d/www.conf

Uia te putanga PHP i whakatakotoria e HestiaCP

v-list-web-domain user domain.com

E.g:

v-list-web-domain abc chenweiliang.com

I roto i te putanga, ka kite koe i tetahi mea penei:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Ko te tikanga ka whakamahia e te paetukutuku PHP 8.3.

Me titiro ki to whirihoranga PHP-FPM:

[chenweiliang.com]
listen = /run/php/php8.3-fpm-chenweiliang.com.sock
listen.owner = abc
listen.group = www-data
listen.mode = 0660

user = abc
group = abc

pm = ondemand
pm.max_children = 8
pm.max_requests = 4000
pm.process_idle_timeout = 10s

Ka kite koe i to pm whakamahia ko ondemand,Ahakoa ka taea e ia te whakaiti i te whakamahi rauemi i te wa mangere, ka piki ohorere te waka, ka kore e taea e te tukanga te whakautu i te waa., ka puta he hapa 500.

1. Whakaritea PHP-FPM tukanga poka tawhā

Mena ka whakamahia e te whirihoranga dynamicHe tikanga tenei mo te tiimata i mua i etahi o nga mahi mahi me te whakatikatika i a raatau kia rite ki te rahinga tono, ka tere ake te whakautu ina piki ohorere te rahinga tono.

Mo nga paetukutuku me te nui o te hokohoko, ka tūtohu kia whakamahia pm = dynamicNa te mea ka taea e ia te pupuri i etahi o nga mahi mangere me te karo i nga hapa 500 i te wa e rite ana.

E taunaki ana kia whakamahia noa ina he iti rawa te ruri uru me te kaha o nga rauemi mahara. pm = ondemand Hei whakaora rauemi.

Ka whakaarohia kia ondemand, me te arotau pm.max_children Me etahi atu tawhā:

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 后自动退出

He aha koe i hiahia ai ki te whakarereke penei?

  • pm = dynamic: Whakaritea nga tukanga kia ngawari ake te karo i te tono tatari ka puta mai i te tono tono;
  • pm.max_children = 16: Aukati i nga hapa 500 na te iti rawa o nga tukanga;
  • pm.start_servers = 5: A ape i te whakaoho puhoi tukanga;
  • pm.max_requests = 3000:Te aukati i te turuturu mahara, hangarua te tukanga i ia wa.

2. Whakaitihia te wa mahi o nga tuhinga PHP hei aukati i te noho mo te wa roa

request_terminate_timeout = 30s  ; 超过 30s 的 PHP 脚本自动终止
php_admin_value[memory_limit] = 128M  ; 限制 PHP 进程最大内存占用

Ka taea e tenei te aukati i etahiKo nga tuhinga PHP e whakamahi nui ana te PTM ka taea te whakaheke i to kaimau.

I muri i te tiaki, whakaara ano i te tukanga PHP:

sudo systemctl restart php8.3-fpm

Whakahohehia te aroturuki mana PHP-FPM ki te aroturuki i te ahunga whakamua i nga wa katoa

Whakahohehia te mahinga PHP-FPM me te tirotiro i nga wa katoaTe maha o nga tukanga hohe me te tono i te mana tatari, ki te karo i te utaina o te tūmau.

php-fpm.conf Kua taapirihia ki:

pm.status_path = /status

Na, whirihoranga Nginx:

location /status {
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    allow 127.0.0.1;
    deny all;
}

I tenei ara, ka taea e koe http://yourdomain.com/status Tirohia te PHP-FPM e mahi ana!

Arotauhia nga rangitaki PHP-FPM kia tere raruraru nga raruraru

php-fpm.conf Tāpiri ki:

php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_value[log_errors] = On
php_admin_value[error_reporting] = E_ALL
slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 5s  ; 执行超过 5s 的脚本记录到日志

Ma tenei ara, ka puta he hapa 500, ka taea e koe te tiro tika i te raarangi:

tail -f /var/log/php-fpm/error.log

Tirohia mena he hapa te korero a PHP, penei out of memory,script execution timeout Tatari.

Tīmataria anō te PHP-FPM i ia te wā hei aukati i te turuturu pūmahara

taea ki te haere cron Tīmataria anō te PHP-FPM i ia te wā kia kore ai e puta ngā tukanga roaNga Puka Mahara.

crontab -e

Tāpirihia te mahi kua whakaritea e whai ake nei ki te whakaara aunoa i te PHP-FPM i te 3 i te ata ia ra:

0 3 * * * /usr/sbin/service php8.3-fpm restart

Ka aha mena ka mau tonu te raru? Te arotautanga atu!

Mena kei te whai tonu koe i te arotautanga o rungaI etahi wa 500 nga hapa ka puta, ka taea e koe te haere tonu me nga arotautanga e whai ake nei:

1. Whakahohehia te OPcache kia pai ake te mahi PHP

Mena kaore ano kia taea te OPcache, ka taea e koe te whakauru penei (ma te whakamahi i te Ubuntu hei tauira):

sudo apt install php8.3-opcache -y

Katahi ka whakatika php.ini:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.validate_timestamps=1

Pānga? Kua tino pai ake te tere mahi wharangi PHP!

2. Nginx whirihoranga arotautanga

Me mohio he whaitake nga tawhā e pa ana ki a Nginx, penei fastcgi_read_timeout Whakatikatika kia kore ai e whakakorehia nga tuhinga PHP e Nginx na te roa o te mahi:

fastcgi_read_timeout 60s;
client_max_body_size 100M;

Whakarāpopototanga: Arotauhia te PHP-FPM ka kore te paetukutuku e pakaru!

He aha nga whakatikatika i mahia e matou i muri i tenei arotautanga?

✅ Te whakapai ake i te puna tukanga PHP-FPM, whakamahi ondemandMe te arotau pm.max_children tawhā;
Te whakaiti i te wa mahi o nga tuhinga PHP, ki te aukati i nga mahi a te PTM mo te wa roa;
Whakahohehia te aroturuki PHP-FPM, tirohia te kawenga tukanga i roto i te waa tuuturu;
Te whakapai ake i nga raarangi PHP-FPM, tere raruraru 500 hapa;
Tīmataria anō te PHP-FPM i ia te wā, aukati i te turuturu mahara;
Whakahohe OPcache, whakapai ake i te pai o te mahi PHP;
Te whakapai ake i te Whirihoranga Nginx, ki te karo i nga take waahi.

I muri i tenei arotautanga, ka tino whakahekehia te uta PHP-FPM, ka kaha ake te mahinga o te paetukutuku! 🔥

Haere ki te whakamatau inaianei! 💪🚀

发表 评论

Ka kore e whakaputaina to wahitau imeera. 必填 项 已 用 * Tapanga

Panuku ki te Runga