Optimization coileanaidh Apache2

Bidh mòran dhaoine a 'cleachdadh apache2 mar fhrithealaiche lìn. Ach, chan eil mòran dhaoine a 'smaoineachadh mu bhith a' dèanamh an coileanadh as fheàrr, a tha a 'toirt buaidh dhìreach air astar luchdachadh duilleagan làraich, astar giullachd sgriobtaichean (gu sònraichte php), a bharrachd air àrdachadh ann an luchd CPU agus àrdachadh anns an uiread de RAM a thathar a' cleachdadh.

Mar sin, bu chòir an leabhar-làimhe a leanas a bhith na chuideachadh do luchd-tòiseachaidh (agus chan ann a-mhàin).
Chaidh a h-uile eisimpleir gu h-ìosal a chleachdadh air Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

Mar sin, leigeamaid tòiseachadh.

1. A 'dì-chomasachadh mhodalan nach eil air an cleachdadh

Is e a’ chiad dhòigh dìreach modalan a chuir dheth nach cleachd thu:

Faodar an liosta de mhodalan a chleachdar an-dràsta fhaicinn leis an àithne:

apache2ctl -M

Gus am modal a dhì-cheadachadh, cleachd an àithne:

a2dismod *название модуля*

Mar sin, gus am modal a chomasachadh, cleachd an àithne:

a2enmod *название модуля*

Thoir an aire nuair a bhios tu a’ cleachdadh a2 dismod, feumaidh ainm a’ mhodal a bhith air a sgrìobhadh às aonais am modal facal fhèin.

Mar eisimpleir, ma tha thu ann an toradh an àithne apache2ctl -M chunnaic proxy_modal, an uairsin gus a chuir dheth feumaidh tu an àithne a chleachdadh - neach-ionaid a2dismod

Is iad na modalan a bhios a’ luchdachadh an t-siostam as motha (bho eòlas pearsanta):

  • PHP, Ruby, Perl agus modalan eile airson diofar chànanan sgrìobhaidh
  • SSL
  • Ath-sgrìobhadh
  • CGI

Mar sin ann an cùisean far nach eil feum agad air na modalan sin, tha mi a 'moladh na modalan sin a dhì-cheadachadh.

Cuideachd, às deidh modal sam bith a dhì-chomasachadh, tha mi a’ moladh an àithne a chleachdadh - rèiteachadh apache2ctl, a nì sgrùdadh air rèiteachadh nan làraich a chaidh a chleachdadh agus ma bha feum air gin de na modalan ciorramach dhaibh, cruthaichidh e mearachd.

2. Ag atharrachadh MPM (Multi-Processing Module) agus a 'cleachdadh php-fpm

Gu gnàthach, às deidh an stàladh, bidh apache2 a ’cleachdadh MPM Prefork (1 snàithlean gach 1 ceangal), a tha gu mòr a’ lughdachadh coileanadh, ach aig an aon àm a ’leasachadh seasmhachd agus tèarainteachd.

Ach airson coileanadh a bharrachadh, tha mi a’ moladh a bhith a’ cleachdadh MPM Worker, a leigeas leat iomadh snàithlean a chleachdadh airson gach ceangal.

Gus a chomasachadh cleachdaidh sinn na h-òrdughan a leanas:

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

Ach, nuair a bhios tu a’ cleachdadh Worker dh’ fhaodadh gum bi duilgheadas agad leis gu bheil... Tha am modal php7.3 an urra ris a’ mhodal Prefork.

Gus an duilgheadas seo fhuasgladh, leig leinn am modal php7.3-fpm a stàladh, a thèid a chleachdadh gus sgriobtaichean PHP a ruith:

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  //Включаем модуль и конфиг для него

Is fhiach a bhith mothachail gun lughdaich cleachdadh php-fpm an ìre de RAM a bhios am pròiseas apache2 a’ cleachdadh agus gun luathaich e pròiseasadh sgriobtaichean PHP beagan.

3. Co-dhùnadh

Mar sin, le gnìomhan cho sìmplidh bha e comasach dhuinn coileanadh a bharrachadh agus an luchd air an inneal a lughdachadh (sa chùis seo RPI3).

Gu dearbh, tha ceudan de roghainnean optimization eile ann, leithid a bhith a’ comasachadh teannachadh (rud a tha gu math feumail, ach tha a’ mhòr-chuid dhiubh air an comasachadh gu bunaiteach), ag atharrachadh roghainnean MPM (faidhlichean rèiteachaidh), a’ cuir à comas HostnameLookups, msaa, ach san artaigil seo dh’ fheuch mi ri meòrachadh Is iad seo na puingean a chuidich mi as motha, agus tha mi an dòchas gun cuidich iad daoine eile.

Source: www.habr.com

Cuir beachd ann