Anthu ambiri amagwiritsa ntchito apache2 ngati seva yapaintaneti. Komabe, anthu ochepa amaganiza za kukhathamiritsa ntchito yake, yomwe imakhudza mwachindunji kuthamanga kwa masamba amasamba, kuthamanga kwa zolemba (makamaka php), komanso kuwonjezeka kwa CPU katundu ndi kuwonjezeka kwa RAM yogwiritsidwa ntchito.
Choncho, buku lotsatirali liyenera kuthandiza oyamba kumene (osati okha) ogwiritsa ntchito.
Zitsanzo zonse pansipa zidagwiritsidwa ntchito pa Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.
Kotero, tiyeni tiyambe.
1. Kuletsa ma modules osagwiritsidwa ntchito
Njira yoyamba ndikungoletsa ma module omwe simugwiritsa ntchito:
Mndandanda wa ma module omwe akugwiritsidwa ntchito pano ukhoza kuwonedwa ndi lamulo:
apache2ctl -M
Kuti mulepheretse module, gwiritsani ntchito lamulo:
a2dismod *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ*
Chifukwa chake, kuti mutsegule moduli, gwiritsani ntchito lamulo ili:
a2enmod *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ*
Chonde dziwani kuti mukamagwiritsa ntchito a2dismod, dzina la module liyenera kulembedwa popanda mawu akuti module.
Mwachitsanzo, ngati muli mu zotsatira za lamulo apache2ctl -M saw proxy_module, ndiye kuti muyimitse muyenera kugwiritsa ntchito lamulo - a2dismod proxy
Ma module omwe amadzaza makinawa kwambiri (kuchokera pazomwe adakumana nazo) ndi:
- PHP, Ruby, Perl ndi magawo ena azilankhulo zosiyanasiyana zolembera
- SSL
- Lembanso
- CGI
Chifukwa chake ngati simukufuna ma module awa, ndikulimbikitsa kuletsa ma module awa.
Komanso, nditatha kuletsa gawo lililonse, ndikupangira kugwiritsa ntchito lamulo - apache2ctl configtest, yomwe idzayang'ane makonzedwe a malo omwe amagwiritsidwa ntchito ndipo ngati ma modules olumala anali ofunikira kwa iwo, adzapanga cholakwika.
2. Kusintha MPM (Multi-Processing Module) ndi kugwiritsa ntchito php-fpm
Mwachikhazikitso, pambuyo pa kukhazikitsa, apache2 imagwiritsa ntchito MPM Prefork (1 ulusi pa 1 kugwirizana), zomwe zimachepetsa kwambiri ntchito, koma nthawi yomweyo zimathandizira kukhazikika ndi chitetezo.
Koma kuti muwongolere magwiridwe antchito, ndikupangira kugwiritsa ntchito MPM Worker, yomwe imakupatsani mwayi wogwiritsa ntchito ulusi wambiri pa kulumikizana.
Kuti tiyitse timagwiritsa ntchito malamulo awa:
a2dismod mpm_prefork //ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ prefork
a2dismod php7.3 //ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ php, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ prefork
a2enmod mpm_worker //ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ worker
Komabe, mukamagwiritsa ntchito Worker mutha kukumana ndi vuto chifukwa ... Gawo la php7.3 limadalira gawo la Prefork.
Kuti tithane ndi vutoli, tiyeni tiyike gawo la php7.3-fpm, lomwe lidzagwiritsidwe ntchito kuyendetsa zolemba za 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 //ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ Π½Π΅Π³ΠΎ
Ndizofunikira kudziwa kuti kugwiritsa ntchito php-fpm kudzachepetsanso kuchuluka kwa RAM yogwiritsidwa ntchito ndi njira ya apache2 ndikufulumizitsa pang'ono kukonza zolemba za PHP.
3. Kutsiliza
Chifukwa chake, ndi zinthu zosavuta zotere tidatha kukhathamiritsa magwiridwe antchito ndikuchepetsa katundu pamakina (panthawiyi RPI3).
Inde, pali mazana a zosankha zina zokhathamiritsa, monga kuthandizira kukanikiza (komwe kuli kothandiza, koma zambiri zathandizidwa kale), kusintha ma MPM (mafayilo osintha), kulepheretsa HostnameLookups, ndi zina zotero, koma m'nkhaniyi ndinayesera lingalirani Izi ndi mfundo zomwe zandithandiza kwambiri, ndipo ndikukhulupirira kuti zithandiza ena.
Source: www.habr.com