HestiaCP PHP-FPM puas hnyav? Dynamic web page 500 yuam kev? Qhov no optimization yuav siv tam sim ntawd!

Koj puas tau ntsib qhov xwm txheej no?Kev nkag mus rau lub vev xaib sai sai sai, lossis tseem ua rau 500 qhov yuam kev tom qab rov pib PHP-FPM, nws rov qab mus rau qhov qub., tab sis qhov teeb meem rov tshwm sim tom qab ib pliag? Qhov no nyuaj siab heev!

Vim li cas qhov no tshwm sim?Qhov tseeb, qhov no feem ntau yogPHP-FPM txheej txheem pas dej ua ke tsis raug teeb tsa kom raug, lossis cov khoom siv server tsis txaus.tshwm sim los ntawm. Niaj hnub no, peb yuav ua tib zoo optimize HestiaCP PHP-FPM hauv qab hood ua rau lub vev xaib ruaj khov zoo li pob zeb!

Lub ntsiab yog vim li cas PHP-FPM yog overloaded

PHP-FPM yog ibTus Txheej Txheem, uas yog lub luag haujlwm rau kev tuav cov lus thov dynamic. Yog tias qhov kev teeb tsa tsis tsim nyog, nws yuav ua rau:

  • Cov peev txheej server tau tag lawm, ua rau PHP-FPM tsis tuaj yeem teb cov lus thov tshiab raws sijhawm;
  • Cov txheej txheem tsawg dhau, thaum tsheb khiav ceev ceev, nws tsis tuaj yeem ua tiav raws sijhawm;
  • Kev siv cov txheej txheem siab dhau lawm, ua rau CPU load tawg.

HestiaCP PHP-FPM puas hnyav? Dynamic web page 500 yuam kev? Qhov no optimization yuav siv tam sim ntawd!

Yuav qhia li cas yog PHP-FPM overloaded?

siv tau top los yog htop Hais kom saib CPU thiab nco siv:

top -c

Yog tias koj pom cov ntaub ntawv txheej txheem zoo ib yam li cov hauv qab no, nws txhais tau tias PHP-FPM tab tom khiav hauv siab:

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

Saib seb cov txheej txheem no tau noj ntau dua 70% ntawm CPU? Yog tias qhov no tshwm sim ntau zaus, koj tus PHP-FPM Yuav tsum muaj teeb meem!

Yog li, yuav ua li cas peb tuaj yeem txhim kho PHP-FPM teeb tsa kom lub server tsis dhau lawm?

PHP-FPM txheej txheem pas dej ua ke optimization (core parameter hloov)

Ua ntej, qhib php-fpm Configuration Files:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Hloov mus rau koj tus PHP version, xws li PHP8.3, thiab hloov nws mus rau qhov no:/etc/php/8.3/fpm/pool.d/www.conf

Nug PHP version teeb tsa los ntawm HestiaCP

v-list-web-domain user domain.com

Xws li:

v-list-web-domain abc chenweiliang.com

Hauv cov zis, koj yuav pom qee yam xws li:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Qhov no txhais tau tias lub vev xaib siv PHP 8.3.

Cia peb saib ntawm koj qhov PHP-FPM configuration:

[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

Koj pom tau tias koj pm Ib qho siv yog ondemand,Txawm hais tias nws tuaj yeem txo qhov kev siv peev txheej thaum lub sijhawm tsis ua haujlwm, thaum cov tsheb khiav nrawm nrawm, cov txheej txheem yuav tsis tuaj yeem teb tau raws sijhawm., ua rau 500 yuam kev.

1. Kho PHP-FPM txheej txheem pas dej ua ke tsis

Yog hais tias lub configuration siv dynamicQhov no yog ib txoj hauv kev ua ntej pib qee cov txheej txheem ua haujlwm thiab hloov kho lawv raws li qhov kev thov ntim, uas tuaj yeem teb sai dua thaum qhov kev thov ntim dheev nce.

Rau cov vev xaib uas muaj qee qhov kev khiav tsheb, nws raug nquahu kom siv pm = dynamicVim tias nws tuaj yeem tswj tau qee yam ntawm cov txheej txheem tsis ua haujlwm thiab zam 500 qhov yuam kev thaum lub sijhawm sib txuam siab.

Nws raug nquahu kom siv nws tsuas yog thaum lub ntim nkag tau qis heev thiab cov peev txheej nco tau nruj. pm = ondemand Txhawm rau txuag cov peev txheej.

Pom zoo rau ondemand, thiab optimize pm.max_children Thiab lwm yam parameter:

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

Vim li cas koj thiaj xav hloov nws li no?

  • pm = dynamic: Muab cov txheej txheem hloov pauv ntau dua kom tsis txhob thov tos uas yuav tshwm sim los ntawm ondemand;
  • pm.max_children = 16: Tiv thaiv 500 qhov yuam kev los ntawm cov txheej txheem tsawg dhau;
  • pm.start_servers = 5: Zam kev pib ua haujlwm qeeb;
  • pm.max_requests = 3000:Tiv thaiv kom tsis nco qab, rov siv cov txheej txheem tsis tu ncua.

2. Txwv lub sijhawm ua tiav ntawm PHP scripts los tiv thaiv kev nyob ntev

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

Qhov no tuaj yeem tiv thaiv qee yamPHP scripts uas siv CPU ntau dhau tuaj yeem ua rau koj lub server poob.

Tom qab txuag, pib dua PHP txheej txheem:

sudo systemctl restart php8.3-fpm

Pab kom PHP-FPM cov xwm txheej saib xyuas kom taug qab qhov kev nce qib txhua lub sijhawm

Pab kom PHP-FPM cov txheej txheem saib xyuas thiab saib nws txhua lub sijhawmTam sim no tus naj npawb ntawm cov txheej txheem nquag thiab thov tos raws li txoj cai, kom tsis txhob overloading server.

php-fpm.conf Ntxiv rau hauv:

pm.status_path = /status

Tom qab ntawd, Nginx configuration:

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;
}

Ua li no, koj tuaj yeem ua tau http://yourdomain.com/status Tshawb xyuas PHP-FPM hauv kev nqis tes ua!

Optimize PHP-FPM cav kom sai sai daws teeb meem

php-fpm.conf Ntxiv rau:

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 的脚本记录到日志

Ua li no, thaum twg 500 qhov yuam kev tshwm sim, koj tuaj yeem saib ncaj qha rau lub cav:

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

Saib seb PHP qhia txog qhov yuam kev, xws li out of memory,script execution timeout 。。。

Rov pib PHP-FPM tsis tu ncua los tiv thaiv kev nco nco

muaj peev xwm dhau cron Rov pib PHP-FPM tsis tu ncua los tiv thaiv kev ua haujlwm ntev los ntawm kev uaNco Leaks.

crontab -e

Ntxiv cov haujlwm tau teem tseg hauv qab no kom rov pib PHP-FPM thaum 3 teev sawv ntxov txhua hnub:

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

Yuav ua li cas yog qhov teeb meem tshwm sim? Ntxiv optimization!

Yog hais tias koj tseem ua raws li saum toj no optimizationQee zaum 500 qhov yuam kev tshwm sim, koj tuaj yeem txuas ntxiv nrog cov kev ua kom zoo hauv qab no:

1. Pab kom OPcache los txhim kho PHP kev ua tau zoo

Yog tias OPcache tseem tsis tau qhib, koj tuaj yeem nruab nws zoo li no (siv Ubuntu ua piv txwv):

sudo apt install php8.3-opcache -y

ces kho php.ini:

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

Cov nyhuv? PHP nplooj ntawv ua kom ceev tau zoo heev!

2. Nginx configuration optimization

Xyuas kom tseeb tias Nginx ntsig txog qhov tsis tsim nyog, xws li fastcgi_read_timeout Kho nws kom tsim nyog kom tsis txhob PHP scripts raug txiav los ntawm Nginx vim lub sijhawm ua haujlwm ntev:

fastcgi_read_timeout 60s;
client_max_body_size 100M;

Cov ntsiab lus: Txhim kho PHP-FPM thiab lub vev xaib yuav tsis poob lawm!

Peb tau hloov kho dab tsi tom qab qhov kev ua kom zoo dua no?

✅ Optimizing PHP-FPM txheej txheem pas dej ua ke, siv ondemandThiab optimize pm.max_children parameter;
Txwv lub sijhawm ua tiav ntawm PHP scripts, tiv thaiv kev ua haujlwm ntev CPU;
Pab kom PHP-FPM saib xyuas, saib cov txheej txheem thauj khoom hauv lub sijhawm;
Optimizing PHP-FPM cav, daws teeb meem sai sai 500 qhov yuam kev;
Rov pib PHP-FPM tsis tu ncua, tiv thaiv kev nco qab;
Qhib OPcache, txhim kho PHP kev ua tau zoo;
Optimizing Nginx Configuration, kom tsis txhob muaj teeb meem sijhawm.

Tom qab qhov kev ua kom zoo no, PHP-FPM load yuav raug txo kom tsawg thiab lub vev xaib ua haujlwm yuav ruaj khov dua! 🔥

Mus sim tam sim no! 💪🚀

评论 评论

Koj email chaw nyob yuav tsis raug luam tawm. Yuav tsum tau siv cov liaj teb * Ntaus Cim

Scroll rau saum