ઑપ્ટિમાઇઝિંગ VestaCP phpfcgid ટેમ્પલેટ રૂપરેખાંકન પ્રક્રિયા મલ્ટિ-મેમરી એક્ઝોશન 500 ભૂલો

VestaCP વેબ સેવા માટે "phpfcgid" ટેમ્પલેટ પસંદ કર્યા પછી, મોટી સંખ્યામાં PHP-CGI પ્રક્રિયાઓએ મેમરીને ઝડપથી ખતમ કરી દીધી.

  • સર્વર પુનઃપ્રારંભ કર્યા પછી મારી પાસે મૂળભૂત રીતે થોડા કલાકો માટે મેમરી સમાપ્ત થઈ ગઈ હતી.
  • અગાઉની નિષ્ક્રિય PHP-CGI પ્રક્રિયાને મારી નાખવામાં આવતી નથી, અને એક પ્રક્રિયા લગભગ 1 સબપ્રોસેસ ચલાવે છે, જે ઓછામાં ઓછી 20M મેમરીનો વપરાશ કરે છે.

SSH માં વપરાય છે htop આદેશ (ઇન્સ્ટોલેશન જરૂરી), તમે આ સ્થિતિ જોઈ શકો છો ▼

VestaCP વેબ સેવા માટે "phpfcgid" ટેમ્પલેટ પસંદ કર્યા પછી, મોટી સંખ્યામાં PHP-CGI પ્રક્રિયાઓએ મેમરીને ઝડપથી ખતમ કરી દીધી.

જો તમે htop આદેશનો ઉપયોગ કરો ત્યારે તમને "-bash: htop: command not found" ભૂલનો સંદેશ મળે, તો કૃપા કરીને ઉકેલ માટે આ ટ્યુટોરીયલ જુઓ ▼

મોટી સંખ્યામાં PHP-CGI પ્રક્રિયાઓને કારણે મેમરી ઝડપથી ખતમ થઈ ગઈ. સમસ્યા એ છે કે VestaCP CentOS phpfcgid ટેમ્પલેટમાં અનઓપ્ટિમાઇઝ્ડ કન્ફિગરેશનનો ઉપયોગ કરે છે .

  • phpfcgid નમૂનામાં VestaCP, 1 ચાઇલ્ડ પ્રક્રિયાઓ સુધી ચલાવવા માટે 20 PHP-CGI પ્રક્રિયા સેટ કરો.

જુઓ /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh ફાઇલની લાઇન 13:

export PHP_FCGI_CHILDREN=20

જો કે, આવા સેટઅપ PHP સબપ્રોસેસ મેનેજમેન્ટ દસ્તાવેજીકરણમાં અપાચેની ચેતવણીનું ઉલ્લંઘન કરે છે:

PHP ચાઇલ્ડ પ્રોસેસ મેનેજમેન્ટ ( PHP_FCGI_CHILDREN ) હંમેશા mod_fcgid સાથે અક્ષમ હોવું જોઈએ, જે એક સમયે ફક્ત એક જ વિનંતીને તેના દ્વારા ઉત્પન્ન થયેલી એપ્લિકેશન પ્રક્રિયાઓ તરફ રૂટ કરશે; આમ, PHP દ્વારા બનાવેલ કોઈપણ ચાઇલ્ડ પ્રોસેસનો અસરકારક રીતે ઉપયોગ થશે નહીં. (વધુમાં, PHP ચાઇલ્ડ પ્રોસેસ યોગ્ય રીતે સમાપ્ત થઈ શકશે નહીં.) ડિફૉલ્ટ રૂપે, અને પર્યાવરણ ચલ સેટિંગ PHP_FCGI_CHILDREN=0 સાથે , PHP ચાઇલ્ડ પ્રોસેસ મેનેજમેન્ટ અક્ષમ છે.

કારણ કે Apache ના mod_fcgid મોડ્યુલમાં, PHP-CGI પ્રક્રિયા માત્ર એક વિનંતીનો જવાબ આપી શકે છે અને એક સમયે ચાલી શકે છે, PHP-CGI ચાઇલ્ડ પ્રક્રિયા ખૂબ જ બિનકાર્યક્ષમ છે.

તેથી, PHP સબપ્રોસેસ મેનેજમેન્ટ માટેની સેટિંગ્સ સીધી રીતે અક્ષમ કરવી જોઈએ ▼

PHP_FCGI_CHILDREN=0

તે જ સમયે, જો તમારી પાસે પહેલેથી જ જનરેટ કરેલ વર્ચ્યુઅલ હોસ્ટ છે, તો તમારે બધી વેબસાઇટ્સની રૂપરેખાંકન ફાઇલોને સંશોધિત કરવાની જરૂર છે ▼

/home/用户名/web/域名/cgi-bin/fcgi-starter

fcgi-સ્ટાર્ટર રૂપરેખાંકન ફાઇલ ખોલ્યા પછી, નીચેની ▼ દાખલ કરો

export PHP_FCGI_CHILDREN=20

▼ માં ફેરફાર કરો

export PHP_FCGI_CHILDREN=0
  • ફેરફાર કર્યા પછી, PHP સબપ્રોસેસ મેનેજમેન્ટ mod_fcgid મોડમાં બંધ થઈ જશે.
  • PHP-CGI પ્રક્રિયા હવે બાળ પ્રક્રિયાઓને જન્મ આપશે નહીં, જે ઘણી બધી મેમરી બચાવી શકે છે.

ઉપરાંત, VestaCP નિષ્ક્રિય પ્રક્રિયાઓ માટે સમાપ્તિ પદ્ધતિ સેટ કરતું નથી:

  • સિસ્ટમ રીબૂટ ન થાય ત્યાં સુધી તમામ નવી એક્ઝિક્યુટ થયેલી PHP-CGI પ્રક્રિયાઓ મેમરીનો ઉપયોગ કરવાનું ચાલુ રાખશે.

આને ઠીક કરવા માટે, ફક્ત mod_fcgid રૂપરેખા ફાઇલ ઉમેરો /etc/httpd/conf.d/fcgid.conf ▼ માં નીચેની સેટિંગ્સ ઉમેરો

FcgidIdleTimeout 120
  • PHP-CGI પ્રક્રિયાઓને આપમેળે નાશ કરવા માટે Apache સેટ કરો જે 2 મિનિટ (120 સેકન્ડ) માટે નિષ્ક્રિય છે.

સેટઅપ પૂર્ણ થયા પછી, Apache સેવાને પુનઃપ્રારંભ કરો ▼

service httpd restart

સેવા પુનઃપ્રારંભ થયા પછી, સેંકડો PHP-CGI પ્રક્રિયાઓ જે અગાઉ HTOP માં પ્રદર્શિત કરવામાં આવી હતી તે હવે પ્રદર્શિત થશે નહીં.

સામાન્ય રીતે, એક જ વેસ્ટા સીપી યુઝર માટે એક જ PHP-CGI પ્રક્રિયા 30 થી 40 MB મેમરી વાપરે છે, જે Linux હોસ્ટ માટે પૂરતી છે.

તેથી, SEO માં શ્રેષ્ઠતા મેળવવા માંગતા ઓનલાઈન માર્કેટર્સ માટે વેસ્ટા કન્ટેન્ટ અને ટેમ્પ્લેટ્સનું રૂપરેખાંકન ઑપ્ટિમાઇઝ કરવું ખૂબ જ મહત્વપૂર્ણ છે .

તમે VestaCP પેનલ ▼ પર નીચેના ટ્યુટોરિયલ્સ જોઈ શકો છો

આશા છે કે, ચેન વેઇલિયાંગના બ્લોગ ( https://www.chenweiliang.com/ ) પર શેર કરાયેલ લેખ " 'મલ્ટીપલ પ્રોસેસીસ, મેમરી એક્ઝોશન 500 એરર' માટે વેસ્ટાસીપી phpfcgid ટેમ્પલેટ કન્ફિગરેશનને ઑપ્ટિમાઇઝ કરવું" તમારા માટે મદદરૂપ થશે.

આ લેખની લિંક શેર કરવા માટે નિઃસંકોચ રહો: ​​https://www.chenweiliang.com/cwl-735.html

વધુ છુપાયેલા યુક્તિઓ🔑 અનલૉક કરવા માટે, અમારી ટેલિગ્રામ ચેનલમાં જોડાવા માટે આપનું સ્વાગત છે!

ગમે તો શેર કરો અને લાઈક કરો! તમારા શેર અને લાઈક્સ એ અમારી સતત પ્રેરણા છે!

 

评论 评论

您的邮箱地址不会被公开。必填项已用*标注

ટોચ પર સ્ક્રોલ