VestaCP വെബ് സേവനത്തിനായി "phpfcgid" ടെംപ്ലേറ്റ് തിരഞ്ഞെടുത്തതിനുശേഷം, ധാരാളം PHP-CGI പ്രക്രിയകൾ മെമ്മറി വേഗത്തിൽ തീർന്നു.
- സെർവർ പുനരാരംഭിച്ചതിന് ശേഷം കുറച്ച് മണിക്കൂറുകളോളം എനിക്ക് അടിസ്ഥാനപരമായി മെമ്മറി തീർന്നു.
- മുമ്പ് നിഷ്ക്രിയമായ PHP-CGI പ്രോസസ്സ് നശിപ്പിക്കപ്പെടുന്നില്ല, കൂടാതെ ഒരു പ്രോസസ്സ് ഏകദേശം 1 ഉപപ്രോസസ്സുകൾ പ്രവർത്തിപ്പിക്കുന്നു, കുറഞ്ഞത് 20M മെമ്മറിയെങ്കിലും ഉപയോഗിക്കുന്നു.
SSH-ൽ ഉപയോഗിച്ചു htop കമാൻഡ് (ഇൻസ്റ്റലേഷൻ ആവശ്യമാണ്), നിങ്ങൾക്ക് ഈ നില കാണാനാകും ▼

നിങ്ങൾ htop കമാൻഡ് ഉപയോഗിക്കുമ്പോൾ "-bash: htop: command not found" എന്ന ഒരു പിശക് സന്ദേശം ലഭിക്കുകയാണെങ്കിൽ, പരിഹാരത്തിനായി ദയവായി ഈ ട്യൂട്ടോറിയൽ കാണുക ▼
PHP-CGI പ്രക്രിയകളുടെ വലിയ എണ്ണം മെമ്മറി വേഗത്തിൽ തീർന്നുപോകാൻ കാരണമായി. CentOS phpfcgid ടെംപ്ലേറ്റിൽ VestaCP ഒപ്റ്റിമൈസ് ചെയ്യാത്ത കോൺഫിഗറേഷൻ ഉപയോഗിക്കുന്നു എന്നതാണ് പ്രശ്നം .
- 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 ചൈൽഡ് പ്രോസസ്സ് മാനേജ്മെന്റ് പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു.
അപ്പാച്ചെയുടെ 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
- പരിഷ്ക്കരണത്തിന് ശേഷം, mod_fcgid മോഡിൽ PHP സബ്പ്രോസസ് മാനേജ്മെന്റ് ഓഫാകും.
- PHP-CGI പ്രോസസ്സ് ഇനി ചൈൽഡ് പ്രോസസുകൾക്ക് കാരണമാകില്ല, ഇത് ധാരാളം മെമ്മറി ലാഭിക്കാൻ കഴിയും.
കൂടാതെ, നിഷ്ക്രിയ പ്രക്രിയകൾക്കായി VestaCP ഒരു അവസാനിപ്പിക്കൽ സംവിധാനം സജ്ജീകരിക്കുന്നില്ല:
- സിസ്റ്റം റീബൂട്ട് ചെയ്യുന്നതുവരെ പുതുതായി നടപ്പിലാക്കിയ എല്ലാ PHP-CGI പ്രക്രിയകളും മെമ്മറി ഉപയോഗിക്കുന്നത് തുടരും.
ഇത് പരിഹരിക്കാൻ, mod_fcgid കോൺഫിഗറേഷൻ ഫയൽ ചേർക്കുക /etc/httpd/conf.d/fcgid.conf ഇനിപ്പറയുന്ന ക്രമീകരണങ്ങൾ ▼-ൽ ചേർക്കുക
FcgidIdleTimeout 120
- 2 മിനിറ്റ് (120 സെക്കൻഡ്) നിഷ്ക്രിയമായ PHP-CGI പ്രക്രിയകളെ സ്വയമേവ ഇല്ലാതാക്കാൻ അപ്പാച്ചെ സജ്ജമാക്കുക.
സജ്ജീകരണം പൂർത്തിയായ ശേഷം, അപ്പാച്ചെ സേവനം പുനരാരംഭിക്കുക ▼
service httpd restart
സേവനം പുനരാരംഭിച്ച ശേഷം, HTOP-ൽ മുമ്പ് പ്രദർശിപ്പിച്ചിരുന്ന നൂറുകണക്കിന് PHP-CGI പ്രോസസ്സുകൾ ഇനി പ്രദർശിപ്പിക്കില്ല.
സാധാരണയായി, ഒരു വെസ്റ്റ സിപി ഉപയോക്താവിനുള്ള ഒരു PHP-CGI പ്രോസസ്സ് 30 മുതൽ 40 MB വരെ മെമ്മറി ഉപയോഗിക്കുന്നു, ഇത് ഒരു ലിനക്സ് ഹോസ്റ്റിന് ആവശ്യത്തിലധികം വരും.
അതുകൊണ്ട്, SEO- യിൽ മികവ് പുലർത്താൻ ആഗ്രഹിക്കുന്ന ഓൺലൈൻ മാർക്കറ്റർമാർക്ക് വെസ്റ്റ ഉള്ളടക്കത്തിന്റെയും ടെംപ്ലേറ്റുകളുടെയും കോൺഫിഗറേഷൻ ഒപ്റ്റിമൈസ് ചെയ്യുന്നത് നിർണായകമാണ് .
VestaCP പാനലിലെ ഇനിപ്പറയുന്ന ട്യൂട്ടോറിയലുകൾ നിങ്ങൾക്ക് നോക്കാം▼
ചെൻ വെയ്ലിയാങ്ങിന്റെ ബ്ലോഗിൽ ( https://www.chenweiliang.com/ ) പങ്കിട്ട "'മൾട്ടിപ്പിൾ പ്രോസസുകൾ, മെമ്മറി എക്സ്ഹോഷൻ 500 പിശക്' എന്നതിനായുള്ള VestaCP phpfcgid ടെംപ്ലേറ്റ് കോൺഫിഗറേഷൻ ഒപ്റ്റിമൈസ് ചെയ്യുന്നു" എന്ന ലേഖനം നിങ്ങൾക്ക് സഹായകരമാകുമെന്ന് പ്രതീക്ഷിക്കുന്നു.
ഈ ലേഖനത്തിന്റെ ലിങ്ക് പങ്കിടാൻ മടിക്കേണ്ടതില്ല: https://www.chenweiliang.com/cwl-735.html



