apache2 කාර්ය සාධන ප්‍රශස්තකරණය

බොහෝ අය apache2 වෙබ් සේවාදායකයක් ලෙස භාවිතා කරයි. කෙසේ වෙතත්, එහි ක්‍රියාකාරිත්වය ප්‍රශස්ත කිරීම ගැන ස්වල්ප දෙනෙක් සිතන අතර එය අඩවි පිටු පැටවීමේ වේගය, ස්ක්‍රිප්ට් සැකසීමේ වේගය (විශේෂයෙන් php) මෙන්ම CPU භාරයේ වැඩි වීම සහ භාවිතා කරන RAM ප්‍රමාණය වැඩි කිරීම සඳහා සෘජුවම සමානුපාතිකව බලපායි.

මේ අනුව, පහත අත්පොත ආරම්භක (සහ පමණක් නොව) පරිශීලකයින්ට උපකාර විය යුතුය.
පහත සියලුම උදාහරණ Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3 මත භාවිතා කර ඇත.

ඉතින් අපි පටන් ගන්නවා.

1. භාවිතයට නොගත් මොඩියුල අක්‍රීය කිරීම

පළමු ක්‍රමය නම් ඔබ භාවිතා නොකරන මොඩියුල සරලව අක්‍රිය කිරීමයි:

දැනට භාවිතා කරන මොඩියුල ලැයිස්තුව විධානය සමඟ නැරඹිය හැක:

apache2ctl -M

මොඩියුලය අක්රිය කිරීමට, විධානය භාවිතා කරන්න:

a2dismod *название модуля*

ඒ අනුව, මොඩියුලය සක්රිය කිරීමට, විධානය භාවිතා කරන්න:

a2enmod *название модуля*

භාවිතා කරන විට බව කරුණාවෙන් සලකන්න a2dismod, මොඩියුලය යන වචනයෙන් තොරව මොඩියුලයේ නම ලිවිය යුතුය.

උදාහරණයක් ලෙස, ඔබ විධානයේ ප්‍රතිදානයේ සිටී නම් apache2ctl -M saw proxy_module, පසුව එය අක්රිය කිරීමට ඔබ විධානය භාවිතා කළ යුතුය - a2dismod ප්‍රොක්සි

පද්ධතිය වැඩිපුරම පටවන මොඩියුල (පුද්ගලික අත්දැකීම් වලින්):

  • විවිධ ස්ක්‍රිප්ටින් භාෂා සඳහා PHP, Ruby, Perl සහ අනෙකුත් මොඩියුල
  • SSL
  • Rewrite
  • CGI

එබැවින් ඔබට මෙම මොඩියුල අවශ්‍ය නොවන අවස්ථා වලදී, මෙම මොඩියුල අක්‍රිය කිරීමට මම නිර්දේශ කරමි.

එසේම, ඕනෑම මොඩියුලයක් අක්රිය කිරීමෙන් පසුව, මම විධානය භාවිතා කිරීමට නිර්දේශ කරමි - apache2ctl configtest, එය භාවිතා කරන අඩවි වල වින්‍යාසය පරීක්ෂා කරන අතර ඒවා සඳහා අක්‍රීය මොඩියුල කිසිවක් අවශ්‍ය නම්, එය දෝෂයක් ජනනය කරයි.

2. MPM (බහු සැකසුම් මොඩියුලය) වෙනස් කිරීම සහ php-fpm භාවිතා කිරීම

පෙරනිමියෙන්, ස්ථාපනය කිරීමෙන් පසුව, apache2 MPM Prefork (සම්බන්ධතා 1 ට 1 නූල්) භාවිතා කරයි, එය කාර්ය සාධනය සැලකිය යුතු ලෙස අඩු කරයි, නමුත් ඒ සමඟම ස්ථාවරත්වය සහ ආරක්ෂාව වැඩි දියුණු කරයි.

නමුත් කාර්ය සාධනය ප්‍රශස්ත කිරීම සඳහා, එම්පීඑම් වර්කර් භාවිතා කිරීමට මම නිර්දේශ කරමි, එමඟින් ඔබට සම්බන්ධතාවයකට නූල් කිහිපයක් භාවිතා කිරීමට ඉඩ සලසයි.

එය සක්රිය කිරීම සඳහා අපි පහත විධානයන් භාවිතා කරමු:

a2dismod mpm_prefork  //Отключаем prefork
a2dismod php7.3  //Отключаем модуль php, который зависит от prefork
a2enmod mpm_worker  //Включаем worker

කෙසේ වෙතත්, Worker භාවිතා කරන විට ඔබට ගැටලුවක් ඇති විය හැක, මන්ද ... php7.3 මොඩියුලය Prefork මොඩියුලය මත රඳා පවතී.

මෙම ගැටළුව විසඳීම සඳහා, PHP ස්ක්‍රිප්ට් ධාවනය කිරීමට භාවිතා කරන php7.3-fpm මොඩියුලය ස්ථාපනය කරමු:

apt-get update && apt-get install php7.3-fpm  //Устанавливаем
systemctl enable php7.3-fpm && systemctl start php7.3-fpm  //Добавляем в автозагрузку и запускаем
a2enmod php7.3-fpm && a2enconf php7.3-fpm.conf  //Включаем модуль и конфиг для него

php-fpm භාවිතා කිරීම apache2 ක්‍රියාවලිය මගින් භාවිතා කරන RAM ප්‍රමාණය අඩු කරන අතර PHP ස්ක්‍රිප්ට් සැකසීම තරමක් වේගවත් කරන බව සඳහන් කිරීම වටී.

3. නිගමනය

මේ අනුව, එවැනි සරල ක්රියාවන් සමඟ කාර්ය සාධනය ප්රශස්ත කිරීමට සහ යන්ත්රය මත බර අඩු කිරීමට අපට හැකි විය (මෙම අවස්ථාවේදී RPI3).

ඇත්ත වශයෙන්ම, සම්පීඩනය සක්‍රීය කිරීම (එය සැබවින්ම ප්‍රයෝජනවත්, නමුත් බොහෝමයක් දැනටමත් පෙරනිමියෙන් සක්‍රීය කර ඇත), MPM සැකසුම් වෙනස් කිරීම (වින්‍යාස ගොනු), HostnameLookups අක්‍රීය කිරීම වැනි වෙනත් ප්‍රශස්තකරණ විකල්ප සිය ගණනක් ඇත, නමුත් මෙම ලිපියෙන් මම උත්සාහ කළේ පරාවර්තනය කරන්න මට වඩාත්ම උපකාර වූ කරුණු මේවා වන අතර, මම අන් අයට උපකාර කරනු ඇතැයි මම බලාපොරොත්තු වෙමි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න