Apache2 kev ua tau zoo optimization

Ntau tus neeg siv apache2 ua lub vev xaib server. Txawm li cas los xij, ob peb tus neeg xav txog kev ua kom zoo dua nws qhov kev ua tau zoo, uas cuam tshuam ncaj qha rau kev thauj khoom ceev ntawm nplooj ntawv nplooj ntawv, kev ceev ntawm cov ntawv sau (xws li php), nrog rau kev nce hauv CPU load thiab nce ntawm RAM siv.

Yog li, phau ntawv qhia hauv qab no yuav tsum pab cov neeg pib tshiab (thiab tsis yog) cov neeg siv xwb.
Tag nrho cov piv txwv hauv qab no tau siv ntawm Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

Yog li ntawd, cia peb pib.

1. Tshem tawm cov modules tsis siv

Thawj txoj kev yog tsuas yog lov tes taw modules uas koj tsis siv:

Daim ntawv teev cov modules siv tam sim no tuaj yeem saib nrog cov lus txib:

apache2ctl -M

Txhawm rau lov tes taw module, siv cov lus txib:

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

Raws li, txhawm rau qhib lub module, siv cov lus txib:

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

Thov nco ntsoov tias thaum siv ib 2dem, lub npe ntawm lub module yuav tsum tau sau tsis muaj lo lus module nws tus kheej.

Piv txwv li, yog tias koj nyob rau hauv cov zis ntawm cov lus txib apache2ctl -M pom proxy_module, ces kom lov tes taw nws koj yuav tsum siv cov lus txib - a2dismod npe

Cov modules uas thauj cov kab ke feem ntau (los ntawm tus kheej kev paub) yog:

  • PHP, Ruby, Perl thiab lwm yam modules rau ntau yam lus sau
  • SSL
  • Sau dua tshiab
  • CGI

Yog li nyob rau hauv rooj plaub uas koj tsis xav tau cov modules, kuv xav kom disabling cov modules.

Tsis tas li ntawd, tom qab disabling ib qho module, kuv pom zoo kom siv cov lus txib - apache2ctl configtest, uas yuav xyuas cov kev teeb tsa ntawm cov chaw siv thiab yog tias ib qho ntawm cov neeg xiam oob khab tsim nyog rau lawv, nws yuav tsim qhov yuam kev.

2. Hloov MPM (Multi-Processing Module) thiab siv php-fpm

Los ntawm lub neej ntawd, tom qab kev teeb tsa, apache2 siv MPM Prefork (1 xov rau 1 kev sib txuas), uas txo qis kev ua tau zoo, tab sis tib lub sijhawm txhim kho kev ruaj ntseg thiab kev ruaj ntseg.

Tab sis txhawm rau txhim kho kev ua tau zoo, kuv pom zoo kom siv MPM Worker, uas tso cai rau koj siv ntau cov xov ntawm ib qho kev sib txuas.

Txhawm rau pab nws peb siv cov lus txib hauv qab no:

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

Txawm li cas los xij, thaum siv Tus Neeg Ua Haujlwm koj yuav ntsib teeb meem vim ... php7.3 module nyob ntawm Prefork module.

Txhawm rau daws qhov teeb meem no, cia peb nruab php7.3-fpm module, uas yuav siv los khiav 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  //Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ для Π½Π΅Π³ΠΎ

Nws yog ib qho tsim nyog sau cia tias siv php-fpm tseem yuav txo qis RAM siv los ntawm cov txheej txheem apache2 thiab ua kom nrawm nrawm ntawm PHP scripts.

3. Xaus

Yog li, nrog cov kev ua haujlwm yooj yim no peb tuaj yeem txhim kho kev ua tau zoo thiab txo cov load ntawm lub tshuab (hauv qhov no RPI3).

Tau kawg, muaj ntau pua qhov kev xaiv ua kom zoo dua qub, xws li ua kom compression (uas yog qhov tseem ceeb, tab sis feem ntau twb tau qhib los ntawm lub neej ntawd), hloov MPM chaw (cov ntaub ntawv teeb tsa), disabling HostnameLookups, thiab lwm yam, tab sis hauv kab lus no kuv sim ua. xav txog Cov no yog cov ntsiab lus uas tau pab kuv tshaj plaws, thiab kuv vam tias yuav pab tau lwm tus.

Tau qhov twg los: www.hab.com

Ntxiv ib saib