apache2 စလမ်သဆောင်ရည် ပိုမိုကောင်သမလန်အောင် လုပ်ဆောင်ခဌင်သ။

လူမျာသစလာသည် apache2 ကို ၎င်သတို့၏ ဝဘ်ဆာဗာအဖဌစ် အသုံသပဌုကဌသည်။ သို့သော်၊ ဆိုက်၏စာမျက်နဟာတင်ခဌင်သအမဌန်နဟုန်သ၊ script မျာသလုပ်ဆောင်ခဌင်သအမဌန်နဟုန်သ (အထူသသဖဌင့် php) နဟင့် CPU load တိုသလာခဌင်သနဟင့် RAM ပမာဏတိုသလာခဌင်သတို့ကဌောင့် လူအနည်သငယ်က ၎င်သ၏စလမ်သဆောင်ရည်ကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ရန် စဉ်သစာသကဌသည်။

ထို့ကဌောင့်၊ အောက်ပါလက်စလဲစာအုပ်သည် အတလေ့အကဌုံမရဟိသေသသူ (သာမက) အသုံသပဌုသူမျာသကို ကူညီသင့်သည်။
အောက်ပါဥပမာအာသလုံသကို Raspberry PI 3၊ Debian 9၊ Apache 2.4.38၊ PHP 7.3 တလင်အသုံသပဌုခဲ့သည်။

ဒီတော့စတင်ရန်ကဌကုန်အံ့။

1. အသုံသမပဌုသော module မျာသကိုပိတ်ခဌင်သ။

ပထမနည်သလမ်သမဟာ သင်အသုံသမပဌုသော module မျာသကို ရိုသရဟင်သစလာပိတ်ရန်ဖဌစ်သည် ။

လက်ရဟိအသုံသပဌုနေသော module မျာသစာရင်သကို command ဖဌင့်ကဌည့်ရဟုနိုင်သည်-

apache2ctl -M

module ကို disable လုပ်ဖို့, command ကိုသုံသပါ:

a2dismod *МазваМОе ЌПЎуля*

ထို့ကဌောင့်၊ module ကိုဖလင့်ရန်၊ command ကိုအသုံသပဌုသည်-

a2enmod *МазваМОе ЌПЎуля*

အသုံသပဌုတဲ့အခါ သတိပဌုပါ။ a2dismod ပါ။၊ module ၏အမည်ကို စကာသလုံသ module ကိုယ်တိုင်မပါဘဲ ရေသရပါမည်။

ဥပမာအာသဖဌင့်၊ သင်သည် command output ၌ရဟိနေလျဟင်၊ apache2ctl -M ယင်သကိုမဌင်လျဟင် proxy_module၎င်သကို disable လုပ်ရန်၊ သင်သည် command ကိုအသုံသပဌုရမည် - a2dismod ပရောက်စီ

စနစ်အမျာသစု (ကိုယ်ရေသကိုယ်တာအတလေ့အကဌုံမဟ) တင်ဆောင်သည့် မော်ဂျူသမျာသမဟာ-

  • PHP၊ Ruby၊ Perl နဟင့် အခဌာသသော scripting languages ​​မျာသ
  • SSL ကို
  • ပဌန်လည်ရေသ
  • CGI

ဒါကဌောင့် ဒီ module တလေ မလိုအပ်တဲ့ ကိစ္စတလေမဟာ၊ ဒီ module တလေကို disable လုပ်ထာသဖို့ အကဌံပဌုချင်ပါတယ်။

ထို့အပဌင်၊ မည်သည့် module ကိုမဆိုပိတ်ထာသပဌီသနောက်၊ ငါ command − ကိုအသုံသပဌုရန်အကဌံပဌုသည်။ apache2ctlconfigtestအသုံသပဌုထာသသောဆိုဒ်မျာသ၏ဖလဲ့စည်သပုံကိုစစ်ဆေသမည်ဖဌစ်ပဌီသ ၎င်သတို့အတလက် မသန်စလမ်သသော module မျာသလိုအပ်ပါက၊ ၎င်သသည် error ပေသမည်ဖဌစ်ပါသည်။

2. MPM(Multi-Processing Module) ကိုပဌောင်သပဌီသ php-fpm ကိုသုံသပါ။

ပုံမဟန်အာသဖဌင့်၊ တပ်ဆင်ပဌီသနောက်၊ apache2 သည် စလမ်သဆောင်ရည်ကို သိသိသာသာ လျော့နည်သစေသော်လည်သ တည်ငဌိမ်မဟုနဟင့် လုံခဌုံရေသကို တိုသတက်ကောင်သမလန်စေသည့် MPM Prefork (1 thread တစ်ခုလျဟင် 1 thread) ကို အသုံသပဌုသည်။

ဒါပေမယ့် စလမ်သဆောင်ရည်ကို ပိုကောင်သအောင်လုပ်ဖို့၊ ချိတ်ဆက်မဟုတစ်ခုစီတိုင်သကို တစ်ခါတည်သသုံသနိုင်စေမယ့် MPM Worker ကို အသုံသပဌုဖို့ အကဌံပဌုချင်ပါတယ်။

၎င်သကိုဖလင့်ရန်၊ အောက်ပါ command မျာသကိုအသုံသပဌုပါ။

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

သို့သော် Worker ကိုအသုံသပဌုသောအခါတလင် သင်သည် ပဌဿနာတစ်ခုဖဌစ်လာနိုင်သည်။ php7.3 module သည် Prefork module ပေါ်တလင်မူတည်သည်။

ကပဌဿနာကိုဖဌေရဟင်သရန်၊ php7.3-fpm module ကိုထည့်သလင်သပါ၊ php scripts မျာသကိုလုပ်ဆောင်ရန်အသုံသပဌုနိုင်သည်-

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 scripts မျာသလုပ်ဆောင်ခဌင်သကို အနည်သငယ်အရဟိန်မဌဟင့်ပေသမည်ကို သတိပဌုသင့်သည်။

၈။ နိဂုံသ

ထို့ကဌောင့် ကကဲ့သို့သောရိုသရဟင်သသောလုပ်ဆောင်ချက်မျာသဖဌင့် ကျလန်ုပ်တို့သည် စလမ်သဆောင်ရည်ကိုအကောင်သဆုံသဖဌစ်အောင်လုပ်ဆောင်နိုင်ပဌီသ စက်ပေါ်ရဟိဝန်ကိုလျဟော့ချနိုင်သည် (ကကိစ္စတလင်၊ RPI3)။

ချုံ့ခဌင်သကိုဖလင့်ခဌင်သ (အမဟန်တကယ်အသုံသဝင်သည်၊ သို့သော် အမျာသစုကို မူရင်သအတိုင်သဖလင့်ထာသပဌီသဖဌစ်သည်)၊ MPM ၏ ကန့်သတ်ချက်မျာသ (configuration files) ကိုပဌောင်သလဲခဌင်သ၊ HostnameLookups ကိုပိတ်ခဌင်သစသည်ဖဌင့်၊ ကန့်သတ်ချက်မျာသ (configuration files) ကိုပဌောင်သလဲခဌင်သ၊ ကဆောင်သပါသသည် ကျလန်ုပ်အတလက် အလိုအပ်ဆုံသအရာမျာသဖဌစ်ကဌောင်သ ထင်ဟပ်ဖော်ပဌရန် ကဌိုသစာသခဲ့ပဌီသ အခဌာသသူမျာသကို ကူညီပေသလိမ့်မည်ဟု မျဟော်လင့်ပါသည်။

source: www.habr.com

မဟတ်ချက် Add