HestiaCP PHP-FPM በከባድ ጭነት ውስጥ ነው? ተለዋዋጭ ድረ-ገጽ 500 ስህተት? ይህ ማመቻቸት ወዲያውኑ ተግባራዊ ይሆናል!

ይህን ሁኔታ አጋጥሞህ ያውቃል?የድረ-ገጽ መዳረሻ በድንገት ቀነሰ ወይም 500 ስህተት አስከትሏል PHP-FPM እንደገና ከጀመረ በኋላ ወደ መደበኛው ተመለሰ።ግን ችግሩ ከተወሰነ ጊዜ በኋላ እንደገና ይታያል? ይህ በጣም ተስፋ አስቆራጭ ነው!

ይህ ለምን እየሆነ ነው?እንደ እውነቱ ከሆነ, ይህ አብዛኛውን ጊዜ ነውየPHP-FPM ሂደት ገንዳ በትክክል አልተዋቀረም ወይም የአገልጋዩ ሀብቶች በቂ አይደሉም።ምክንያት. ዛሬ, እኛ በደንብ እናሻሽላለን HestiaCP ፒኤችፒ-ኤፍፒኤም በመከለያ ስር ድህረ ገጹን እንደ አለት የተረጋጋ ያደርገዋል!

PHP-FPM ከመጠን በላይ የተጫነበት ዋናው ምክንያት

ፒኤችፒ-ኤፍፒኤም የሂደት አስተዳዳሪተለዋዋጭ ጥያቄዎችን የማስተናገድ ኃላፊነት ያለበት። አወቃቀሩ ምክንያታዊ ካልሆነ ወደሚከተለው ሊያመራ ይችላል፡-

  • የአገልጋይ ሀብቶች ተሟጠዋልፒኤችፒ-ኤፍፒኤም ለአዳዲስ ጥያቄዎች በወቅቱ ምላሽ መስጠት እንዳይችል በማድረግ፣
  • በጣም ጥቂት ሂደቶች, ትራፊክ በድንገት ሲጨምር, በጊዜ ሂደት ሊሰራ አይችልም;
  • የሂደቱ አጠቃቀም በጣም ከፍተኛ ነው።የሲፒዩ ጭነት እንዲፈነዳ ያደርጋል።

HestiaCP PHP-FPM በከባድ ጭነት ውስጥ ነው? ተለዋዋጭ ድረ-ገጽ 500 ስህተት? ይህ ማመቻቸት ወዲያውኑ ተግባራዊ ይሆናል!

PHP-FPM ከመጠን በላይ መጫኑን እንዴት ማወቅ ይቻላል?

መጠቀም ይችላል። top ወይም ፡፡ htop ሲፒዩ እና የማህደረ ትውስታ አጠቃቀምን ለማየት ትእዛዝ፡-

top -c

ከሚከተለው ጋር የሚመሳሰል የሂደት መረጃ ካዩ፣ PHP-FPM በከፍተኛ ጭነት እየሰራ ነው ማለት ነው።

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

እነዚህ ሂደቶች ከ70% በላይ ሲፒዩ እንዴት እየወሰዱ እንደሆነ ይመልከቱ? ይህ ብዙ ጊዜ የሚከሰት ከሆነ፣ የእርስዎ PHP-FPM ችግር መኖር አለበት።!

ስለዚህ፣ አገልጋዩ ከመጠን በላይ እንዳይጫን የPHP-FPM ውቅርን እንዴት ማሳደግ እንችላለን?

የ PHP-FPM ሂደት ገንዳ ማመቻቸት (የዋና መለኪያ ማስተካከያ)

መጀመሪያ ይክፈቱ php-fpm የማዋቀር ፋይሎች፡

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *እንደ PHP8.3 ወደ የእርስዎ ፒኤችፒ ስሪት ይቀይሩ እና ወደዚህ ይቀይሩት፡/etc/php/8.3/fpm/pool.d/www.conf

በHestiaCP የተዘጋጀውን የPHP ሥሪት ይጠይቁ

v-list-web-domain user domain.com

ለምሳሌ-

v-list-web-domain abc chenweiliang.com

በውጤቱ ውስጥ እንደዚህ ያለ ነገር ታያለህ፡-

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

ይህ ማለት ድህረ ገጹ ይጠቀማል ማለት ነው። ፒኤችፒ 8.3.

የ 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

ያንን ማየት ይችላሉ pm ጥቅም ላይ ይውላል ondemand:ምንም እንኳን በስራ ፈት ጊዜ የሃብት አጠቃቀምን ሊቀንስ ቢችልም, የትራፊክ ፍሰት በድንገት ሲጨምር, ሂደቱ በጊዜ ምላሽ መስጠት ላይችል ይችላል.500 ስህተት አስከትሏል።

1. የ PHP-FPM ሂደት ገንዳ መለኪያዎችን ያስተካክሉ

አወቃቀሩ ከተጠቀመ dynamicይህ አንዳንድ የስራ ሂደቶችን በቅድሚያ ለመጀመር እና በተጠየቀው ድምጽ መሰረት በተለዋዋጭ ሁኔታ ለማስተካከል ዘዴ ነው, ይህም የጥያቄው መጠን በድንገት ሲጨምር ፈጣን ምላሽ ይሰጣል.

የተወሰነ መጠን ያለው ትራፊክ ላላቸው ድርጣቢያዎች እንዲጠቀሙ ይመከራል pm = dynamicምክንያቱም የተወሰነ መጠን ያለው የስራ ፈት ሂደቶችን ጠብቆ ማቆየት እና 500 ስህተቶችን በከፍተኛ ተጓዳኝ ጊዜ ማስወገድ ይችላል።

የመዳረሻ መጠን በጣም ዝቅተኛ ሲሆን እና የማስታወሻ ሃብቶች ጥብቅ ሲሆኑ ብቻ እንዲጠቀሙበት ይመከራል. pm = ondemand ሀብቶችን ለመቆጠብ.

የሚመከር 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 后自动退出

ለምን እንደዚህ መቀየር ይፈልጋሉ?

  • pm = dynamicበፍላጎት ምክንያት ሊከሰት የሚችልን ጥያቄ መጠበቅን ለማስወገድ ሂደቶችን በተለዋዋጭነት መድብ;
  • pm.max_children = 16በጣም ጥቂት ሂደቶች የተፈጠሩ 500 ስህተቶችን መከላከል;
  • pm.start_servers = 5: ቀስ በቀስ የሂደቱን ጅምር ያስወግዱ;
  • pm.max_requests = 3000:የማህደረ ትውስታ መፍሰስን መከላከል, ሂደቱን በመደበኛነት እንደገና ጥቅም ላይ ማዋል.

2. የረጅም ጊዜ መኖርን ለመከላከል የ PHP ስክሪፕቶችን የሚፈፀሙበትን ጊዜ ይገድቡ

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

ይህ አንዳንዶቹን መከላከል ይችላልበጣም ብዙ ሲፒዩ የሚጠቀሙ የPHP ስክሪፕቶች አገልጋይዎን ሊያወርዱ ይችላሉ።.

ካስቀመጡ በኋላ የ PHP ሂደቱን እንደገና ያስጀምሩ:

sudo systemctl restart php8.3-fpm

የሂደቱን በማንኛውም ጊዜ ለመከታተል የPHP-FPM ሁኔታ ክትትልን ያንቁ

የ PHP-FPM ሂደት ክትትልን ያንቁ እና በማንኛውም ጊዜ ይመልከቱት።የአሁኑ የንቁ ሂደቶች ብዛት እና የጥበቃ ሁኔታን ይጠይቁየአገልጋይ ጭነትን ለማስወገድ።

php-fpm.conf ተጨምሯል፡

pm.status_path = /status

ከዚያ 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;
}

በዚህ መንገድ, ይችላሉ http://yourdomain.com/status PHP-FPMን በተግባር ይመልከቱ!

ችግሮችን በፍጥነት ለመፍታት የPHP-FPM ምዝግብ ማስታወሻዎችን ያሳድጉ

php-fpm.conf አክል ወደ፡

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

በዚህ መንገድ 500 ስህተት በተፈጠረ ቁጥር ምዝግብ ማስታወሻውን በቀጥታ ማየት ይችላሉ፡-

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

ፒኤችፒ ስህተት እንደዘገበው ይመልከቱ out of memory:script execution timeout ጠብቅ.

የማህደረ ትውስታ ፍሳሾችን ለመከላከል PHP-FPMን በመደበኛነት እንደገና ያስጀምሩ

ማለፍ የሚችል cron ለረጅም ጊዜ የሚሄዱ ሂደቶች እንዳይከሰቱ ለመከላከል PHP-FPMን በመደበኛነት እንደገና ያስጀምሩየማህደረ ትውስታ መፍሰስ.

crontab -e

በየቀኑ ከጠዋቱ 3 ሰአት ላይ PHP-FPMን በራስ ሰር ዳግም ለማስጀመር የሚከተለውን የታቀዱ ስራዎችን ያክሉ።

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

ችግሩ ከቀጠለስ? ተጨማሪ ማመቻቸት!

አሁንም ከላይ ያለውን ማመቻቸት ከተከተሉአልፎ አልፎ 500 ስህተቶች ይከሰታሉበሚከተሉት ማሻሻያዎች መቀጠል ይችላሉ፡

1. የPHP አፈፃፀምን ለማሻሻል OPcache ን ያንቁ

OPcache ገና ካልነቃ እንደዚህ ሊጭኑት ይችላሉ (ኡቡንቱን እንደ ምሳሌ በመጠቀም)

sudo apt install php8.3-opcache -y

ከዚያ ያርትዑ php.ini:

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

ውጤት? የ PHP ገጽ አፈፃፀም ፍጥነት በጣም ተሻሽሏል!

2. Nginx ውቅር ማመቻቸት

እንደ Nginx ተዛማጅ መለኪያዎች ምክንያታዊ መሆናቸውን ያረጋግጡ fastcgi_read_timeout በረጅም ጊዜ የማስፈጸሚያ ጊዜ ምክንያት የPHP ስክሪፕቶች በNginx እንዳይቋረጡ በትክክል ያስተካክሉት፡

fastcgi_read_timeout 60s;
client_max_body_size 100M;

ማጠቃለያ፡ PHP-FPMን ያሻሽሉ እና ድር ጣቢያው ከአሁን በኋላ አይበላሽም!

ከዚህ ማመቻቸት በኋላ ምን ማስተካከያ አድርገናል?

✅ የ PHP-FPM ሂደት ገንዳን ማመቻቸት, ይጠቀሙ ondemandእና ያመቻቹ pm.max_children መለኪያ;
የ PHP ስክሪፕቶች የሚፈፀሙበትን ጊዜ መገደብየረጅም ጊዜ የሲፒዩ ሥራን ለመከላከል;
የ PHP-FPM ክትትልን አንቃ, የሂደቱን ጭነት በእውነተኛ ጊዜ ይመልከቱ;
የ PHP-FPM ምዝግብ ማስታወሻዎችን ማመቻቸት, 500 ስህተቶችን በፍጥነት መፍታት;
PHP-FPM በመደበኛነት እንደገና ያስጀምሩ, የማስታወስ ፍሳሾችን መከላከል;
OPcache ን አንቃየ PHP አፈፃፀምን ማሻሻል;
የNginx ውቅረትን ማመቻቸት, የእረፍት ጊዜ ችግሮችን ለማስወገድ.

ከዚህ ማመቻቸት በኋላ የPHP-FPM ጭነት በእጅጉ ይቀንሳል እና የድር ጣቢያው አሠራር የበለጠ የተረጋጋ ይሆናል! 🔥

አሁን ይሞክሩት! 💪🚀

ተስፋ Chen Weiliang ብሎግ ( https://www.chenweiliang.com/ ) የተጋራ "HestiaCP PHP-FPM ጭነት በጣም ከፍተኛ ነው? ተለዋዋጭ ድረ-ገጽ 500 ስህተት? ይህ ማመቻቸት ወዲያውኑ ተግባራዊ ይሆናል! ”፣ ለእርስዎ ጠቃሚ ሊሆን ይችላል።

እንኳን በደህና መጡ የዚህን ጽሁፍ ማገናኛ ለማጋራት፡-https://www.chenweiliang.com/cwl-32512.html

ተጨማሪ ድብቅ ዘዴዎችን ለመክፈት የቴሌግራም ቻናላችንን እንኳን በደህና መጡ።

ከወደዳችሁት ሼር እና ላይክ አድርጉ! የእርስዎ ማጋራቶች እና መውደዶች የእኛ ቀጣይ ተነሳሽነት ናቸው!

 

评论ሺ评论评论评论 ፡፡

የኢሜል አድራሻዎ አይታተምም። 项 已 用 ፡፡ * 标注

ወደ ላይ ሸብልል