Ngoptimalake kinerja Apache2

Akeh wong nggunakake apache2 minangka server web. Nanging, sawetara wong mikir babagan ngoptimalake kinerja, sing sacara proporsional langsung mengaruhi kacepetan loading kaca situs, kacepetan ngolah skrip (utamane php), uga nambah beban CPU lan nambah jumlah RAM sing digunakake.

Dadi, manual ing ngisor iki kudu mbantu pangguna pamula (lan ora mung).
Kabeh conto ing ngisor iki digunakake ing Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

Dadi, ayo miwiti.

1. Mateni modul sing ora digunakake

Cara pisanan yaiku mateni modul sing ora digunakake:

Dhaptar modul sing saiki digunakake bisa dideleng nganggo printah:

apache2ctl -M

Kanggo mateni modul, gunakake printah:

a2dismod *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ модуля*

Mulane, kanggo ngaktifake modul, gunakake printah:

a2enmod *Π½Π°Π·Π²Π°Π½ΠΈΠ΅ модуля*

Elinga yen nalika nggunakake a2 dismod, jeneng modul kudu ditulis tanpa tembung modul dhewe.

Contone, yen sampeyan ana ing output saka printah apache2ctl -M weruh proxy_modul, banjur kanggo mateni sampeyan kudu nggunakake printah - a2dismod proxy

Modul sing paling akeh ngemot sistem (saka pengalaman pribadi) yaiku:

  • PHP, Ruby, Perl lan modul liyane kanggo macem-macem basa skrip
  • SSL
  • Tulis maneh
  • CGI

Dadi yen sampeyan ora mbutuhake modul kasebut, aku nyaranake mateni modul kasebut.

Uga, sawise mateni modul apa wae, aku saranake nggunakake printah - apache2ctl configtest, sing bakal mriksa konfigurasi situs sing digunakake lan yen ana modul sing dipatèni perlu, mula bakal nyebabake kesalahan.

2. Ngganti MPM (Multi-Processing Module) lan nggunakake php-fpm

Kanthi gawan, sawise instalasi, apache2 nggunakake MPM Prefork (1 thread saben 1 sambungan), sing nyuda kinerja, nanging ing wektu sing padha nambah stabilitas lan keamanan.

Nanging kanggo ngoptimalake kinerja, aku nyaranake nggunakake MPM Worker, sing ngidini sampeyan nggunakake macem-macem benang saben sambungan.

Kanggo ngaktifake, kita nggunakake printah ing ngisor iki:

a2dismod mpm_prefork  //ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ prefork
a2dismod php7.3  //ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ php, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ prefork
a2enmod mpm_worker  //Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ worker

Nanging, nalika nggunakake Worker sampeyan bisa nemoni masalah amarga ... Modul php7.3 gumantung ing modul Prefork.

Kanggo ngatasi masalah iki, ayo nginstal modul php7.3-fpm, sing bakal digunakake kanggo mbukak skrip 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  //Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ для Π½Π΅Π³ΠΎ

Perlu dicathet yen nggunakake php-fpm uga bakal ngurangi jumlah RAM sing digunakake dening proses apache2 lan rada nyepetake pangolahan skrip PHP.

3. Kesimpulan

Mangkono, kanthi tumindak sing prasaja, kita bisa ngoptimalake kinerja lan nyuda beban ing mesin (ing kasus iki RPI3).

Mesthine, ana atusan opsi optimasi liyane, kayata ngaktifake kompresi (sing migunani banget, nanging umume wis diaktifake kanthi standar), ngganti setelan MPM (file konfigurasi), mateni HostnameLookups, lan liya-liyane, nanging ing artikel iki aku nyoba kanggo nggambarake Iki minangka titik sing paling mbantu aku, lan aku ngarep-arep bisa mbantu wong liya.

Source: www.habr.com

Add a comment