เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ Apache2

เบซเบผเบฒเบเบ„เบปเบ™เปƒเบŠเป‰ apache2 เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบกเบตเบ„เบปเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบกเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเป‚เบ”เบเบเบปเบ‡เบ•เปเปˆเบ„เบงเบฒเบกเป„เบงเปƒเบ™เบเบฒเบ™เป‚เบซเบฅเบ”เบซเบ™เป‰เบฒเป€เบงเบฑเบšเป„เบŠเบ—เปŒ, เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบชเบฐเบ„เบดเบš (เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ php), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ” CPU เปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบทเป‰เบ™เบ‚เบญเบ‡ RAM เบ—เบตเปˆเปƒเบŠเป‰.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบนเปˆเบกเบทเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ„เบงเบ™เบŠเปˆเบงเบเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เปเบฅเบฐเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆ) เบœเบนเป‰เปƒเบŠเป‰.
เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

1. เบเบฒเบ™เบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰

เบงเบดเบ—เบตเบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰:

เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เป„เบ”เป‰เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡:

apache2ctl -M

เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบกเบ”เบนเบ™, เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡:

a2dismod *ะฝะฐะทะฒะฐะฝะธะต ะผะพะดัƒะปั*

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบกเบ”เบนเบ™, เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡:

a2enmod *ะฝะฐะทะฒะฐะฝะธะต ะผะพะดัƒะปั*

เบเบฐเบฅเบธเบ™เบฒเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ a2dismod, เบŠเบทเปˆเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบ‚เบฝเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเป‚เบกเบ”เบนเบ™เบ„เปเบฒเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบขเบนเปˆเปƒเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ apache2ctl -M เป„เบ”เป‰เป€เบซเบฑเบ™ proxy_module, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบกเบฑเบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ - a2dismod proxy

เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเป‚เบซเบผเบ”เบฅเบฐเบšเบปเบšเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ” (เบˆเบฒเบเบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเปˆเบงเบ™เบ•เบปเบง) เปเบกเปˆเบ™:

  • PHP, Ruby, Perl เปเบฅเบฐเป‚เบกเบ”เบนเบ™เบญเบทเปˆเบ™เป†เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒ scripting เบ•เปˆเบฒเบ‡เป†
  • SSL
  • เบ‚เบฝเบ™ เปƒเปเปˆ
  • CGI

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบกเบ”เบนเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบกเบ”เบนเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบกเบ”เบนเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ - apache2ctl configtest, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบตเปˆเปƒเบŠเป‰เปเบฅเบฐเบ–เป‰เบฒเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบžเบดเบเบฒเบ™เปƒเบ”เป†เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบžเบงเบเบกเบฑเบ™, เบกเบฑเบ™เบˆเบฐเบชเป‰เบฒเบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”.

2. เบเบฒเบ™เบ›เปˆเบฝเบ™ MPM (Multi-Processing Module) เปเบฅเบฐเปƒเบŠเป‰ php-fpm

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, apache2 เปƒเบŠเป‰ MPM Prefork (1 thread เบ•เปเปˆ 1 เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ), เป€เบŠเบดเปˆเบ‡เบซเบผเบธเบ”เบฅเบปเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เปเบฅเบฐเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž.

เปเบ•เปˆเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ MPM Worker, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เปƒเบŠเป‰เบซเบผเบฒเบเบซเบปเบงเบ‚เปเป‰เบ•เปเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบกเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

a2dismod mpm_prefork  //ะžั‚ะบะปัŽั‡ะฐะตะผ prefork
a2dismod php7.3  //ะžั‚ะบะปัŽั‡ะฐะตะผ ะผะพะดัƒะปัŒ php, ะบะพั‚ะพั€ั‹ะน ะทะฐะฒะธัะธั‚ ะพั‚ prefork
a2enmod mpm_worker  //ะ’ะบะปัŽั‡ะฐะตะผ worker

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เป€เบกเบทเปˆเบญเปƒเบŠเป‰ Worker เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบžเบปเบšเบšเบฑเบ™เบซเบฒเป€เบžเบฒเบฐเบงเปˆเบฒ ... เป‚เบกเบ”เบนเบ™ php7.3 เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเป‚เบกเบ”เบนเบ™ Prefork.

เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เปƒเบซเป‰เป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบกเบ”เบนเบ™ php7.3-fpm, เป€เบŠเบดเปˆเบ‡เบˆเบฐเปƒเบŠเป‰เป€เบžเบทเปˆเบญเปเบฅเปˆเบ™ 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  //ะ’ะบะปัŽั‡ะฐะตะผ ะผะพะดัƒะปัŒ ะธ ะบะพะฝั„ะธะณ ะดะปั ะฝะตะณะพ

เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ php-fpm เบเบฑเบ‡เบˆเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™ RAM เบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ apache2 เปเบฅเบฐเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เบญเบ‡ PHP scripts เป€เบฅเบฑเบเบ™เป‰เบญเบ.

3 เบชเบฐเบซเบผเบธเบš

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ”เป‰เบงเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ (เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰ RPI3).

เปเบ™เปˆเบ™เบญเบ™, เบกเบตเบซเบผเบฒเบเบฎเป‰เบญเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” (เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบ—เป‰เป†, เปเบ•เปˆเบชเปˆเบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เปเบฅเป‰เบงเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™), เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ MPM (เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ), เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™ HostnameLookups, เปเบฅเบฐเบญเบทเปˆเบ™เป†, เปเบ•เปˆเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบก. เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เบชเบดเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบˆเบธเบ”เบ—เบตเปˆเบŠเปˆเบงเบเบ‚เป‰เบญเบเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, เปเบฅเบฐเบ‚เป‰เบญเบเบซเบงเบฑเบ‡เบงเปˆเบฒเบˆเบฐเบŠเปˆเบงเบเบ„เบปเบ™เบญเบทเปˆเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™