Haɓaka aikin Apache2

Mutane da yawa suna amfani da apache2 azaman sabar gidan yanar gizo. Duk da haka, mutane kaɗan suna tunanin inganta ayyukansa, wanda kai tsaye ya shafi saurin lodawa na shafukan yanar gizon, saurin sarrafa rubutun (musamman php), da kuma karuwar nauyin CPU da karuwar adadin RAM da ake amfani da su.

Don haka, jagorar mai zuwa ya kamata ya taimaka wa masu farawa (ba kawai) masu amfani ba.
Duk misalan da ke ƙasa an yi amfani da su akan Rasberi PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

Don haka, bari mu fara.

1. Kashe kayayyaki marasa amfani

Hanya ta farko ita ce kawai musaki kayan aikin da ba ku amfani da su:

Za a iya duba jerin abubuwan da ake amfani da su a halin yanzu tare da umarni:

apache2ctl -M

Don kashe tsarin, yi amfani da umarnin:

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

Saboda haka, don kunna tsarin, yi amfani da umarnin:

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

Lura cewa lokacin amfani a 2 zuw, dole ne a rubuta sunan tsarin ba tare da kalmar module kanta ba.

Misali, idan kuna cikin fitarwa na umarnin apache2ctl -M gani proxy_module, to don kashe shi kuna buƙatar amfani da umarnin - a2dismod wakili

Na'urorin da suka fi lodi tsarin (daga gwaninta) sune:

  • PHP, Ruby, Perl da sauran kayayyaki don harsunan rubutu daban-daban
  • SSL
  • Yi rubutu
  • CGI

Don haka a lokuta inda ba kwa buƙatar waɗannan kayayyaki, Ina ba da shawarar kashe waɗannan samfuran.

Hakanan, bayan kashe kowane module, Ina ba da shawarar amfani da umarnin - apache2ctl saita, wanda zai duba daidaitawar rukunin yanar gizon da aka yi amfani da su kuma idan kowane ɗayan na'urorin nakasassu ya zama dole a gare su, zai haifar da kuskure.

2. Canza MPM (Multi-Processing Module) da amfani da php-fpm

Ta hanyar tsoho, bayan shigarwa, apache2 yana amfani da MPM Prefork (1 thread per 1 connection), wanda ya rage yawan aiki, amma a lokaci guda yana inganta kwanciyar hankali da tsaro.

Amma don haɓaka aiki, Ina ba da shawarar yin amfani da Ma'aikacin MPM, wanda ke ba ku damar amfani da zaren da yawa kowane haɗin gwiwa.

Don kunna shi muna amfani da umarni masu zuwa:

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

Koyaya, lokacin amfani da Ma'aikaci za ku iya fuskantar matsala saboda ... Tsarin php7.3 ya dogara da tsarin Prefork.

Don magance wannan matsala, bari mu shigar da php7.3-fpm module, wanda za a yi amfani da shi don gudanar da rubutun 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  //Включаем модуль и конфиг для него

Yana da kyau a lura cewa yin amfani da php-fpm shima zai rage adadin RAM ɗin da tsarin apache2 ke amfani da shi kuma yana ɗan hanzarta aiwatar da rubutun PHP.

3. Kammalawa

Don haka, tare da irin waɗannan ayyuka masu sauƙi mun sami damar haɓaka aiki da rage nauyi akan injin (a cikin wannan yanayin RPI3).

Tabbas, akwai ɗaruruwan sauran zaɓuɓɓukan ingantawa, kamar kunna matsawa (wanda yake da amfani sosai, amma yawancin an riga an kunna su ta tsohuwa), canza saitunan MPM (fayil ɗin daidaitawa), kashe HostnameLookups, da sauransu, amma a cikin wannan labarin na yi ƙoƙarin yin hakan. reflect Waɗannan su ne abubuwan da suka fi taimaka mini, kuma ina fata za su taimaki wasu.

source: www.habr.com

Add a comment