Abantu abaningi basebenzisa i-apache2 njengeseva yewebhu. Kodwa-ke, bambalwa abantu abacabanga ngokuthuthukisa ukusebenza kwayo, okuthinta ngokuqondile isivinini sokulayisha samakhasi esayithi, isivinini sokucubungula izikripthi (ikakhulukazi i-php), kanye nokwanda komthwalo we-CPU nokwanda kwenani le-RAM esetshenzisiwe.
Ngakho, imanuwali elandelayo kufanele isize abaqalayo (hhayi kuphela) abasebenzisi.
Zonke izibonelo ezingezansi zisetshenziswe ku-Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.
Ngakho, ake siqale.
1. Ikhubaza amamojula angasetshenzisiwe
Indlela yokuqala ukumane ukhubaze amamojula ongawasebenzisi:
Uhlu lwamamojula asetshenziswa njengamanje lungabonwa ngomyalo:
apache2ctl -M
Ukuze ukhubaze imojuli, sebenzisa umyalo:
a2dismod *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ*
Ngakho-ke, ukuze uvule imojuli, sebenzisa umyalo:
a2enmod *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ*
Sicela uqaphele ukuthi uma usebenzisa a2dismod, igama lemojuli kufanele libhalwe ngaphandle kwemojuli yegama ngokwayo.
Isibonelo, uma usekukhiqizweni komyalo apache2ctl -M wabona imojula_ummeleli, bese ukuyikhubaza udinga ukusebenzisa umyalo - ummeleli we-a2dismod
Amamojula alayisha isistimu kakhulu (kusukela kokuhlangenwe nakho komuntu siqu) yilawa:
- I-PHP, i-Ruby, i-Perl namanye amamojula ezilimi ezihlukahlukene zokubhala
- I-SSL
- Phinda ubhale
- CGI
Ngakho-ke ezimeni lapho ungawadingi la mamojula, ngincoma ukuthi ukhubaze lawa mamojula.
Futhi, ngemuva kokukhubaza noma iyiphi imojula, ngincoma ukusebenzisa umyalo - i-apache2ctl configtest, okuzohlola ukucushwa kwamasayithi asetshenzisiwe futhi uma noma yimaphi amamojula akhubazekile abedingeka kuwo, azodala iphutha.
2. Ukushintsha i-MPM (I-Multi-Processing Module) nokusebenzisa i-php-fpm
Ngokuzenzakalelayo, ngemva kokufakwa, i-apache2 isebenzisa i-MPM Prefork (intambo engu-1 ngokuxhumeka kwe-1), okunciphisa kakhulu ukusebenza, kodwa ngesikhathi esifanayo kuthuthukisa ukuzinza nokuphepha.
Kepha ukukhulisa ukusebenza kahle, ngincoma ukusebenzisa i-MPM Worker, ekuvumela ukuthi usebenzise imicu eminingi ekuxhumekeni ngakunye.
Ukuyivumela sisebenzisa imiyalo elandelayo:
a2dismod mpm_prefork //ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ prefork
a2dismod php7.3 //ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ php, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ prefork
a2enmod mpm_worker //ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ worker
Kodwa-ke, uma usebenzisa i-Worker ungase uhlangabezane nenkinga ngoba... Imojula ye-php7.3 incike kumojula ye-Prefork.
Ukuxazulula le nkinga, asifake imojula ye-php7.3-fpm, ezosetshenziswa ukuqhuba imibhalo ye-PHP:
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 //ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ Π½Π΅Π³ΠΎ
Kuyaqapheleka ukuthi ukusebenzisa i-php-fpm kuzophinde kunciphise inani le-RAM esetshenziswa inqubo ye-apache2 futhi kusheshise kancane ukucutshungulwa kwemibhalo ye-PHP.
3. Isiphetho
Ngakho-ke, ngezenzo ezilula ezinjalo sakwazi ukukhulisa ukusebenza nokunciphisa umthwalo emshinini (kulokhu i-RPI3).
Yiqiniso, kunamakhulu ezinye izinketho zokuthuthukisa, njengokuvumela ukucindezelwa (okuwusizo ngempela, kodwa iningi selivele linikwe amandla ngokuzenzakalelayo), ukushintsha izilungiselelo ze-MPM (amafayela okusetha), ukukhubaza i-HostnameLookups, njll., kodwa kulesi sihloko ngizamile bonisa Lawa amaphuzu angisize kakhulu, futhi ngethemba ukuthi azosiza abanye.
Source: www.habr.com