Apache2 ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ

ืคื™ืœืข ืžืขื ื˜ืฉืŸ ื ื•ืฆืŸ Apache2 ื•ื•ื™ ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ. ืึธื‘ืขืจ, ื•ื•ื™ื™ื ื™ืง ืžืขื ื˜ืฉืŸ ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ืึธืคึผื˜ื™ืžื™ื–ื™ื ื’ ื–ื™ื™ึทืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’, ื•ื•ืึธืก ื’ืœื™ื™ึทืš ืคึผืจืึทืคึผืึธืจืฉืึทื ืึทืœ ืึทืคืขืงืฅ ื“ื™ ืœืึธื•ื“ื™ื ื’ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ืคึผืœืึทืฅ ื‘ืœืขื˜ืขืจ, ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ืคึผืจืึทืกืขืกื™ื ื’ ืกืงืจื™ืคึผืก (ืกืคึผืขืฆื™ืขืœ ืคืคึผ), ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึท ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืงืคึผื• ืžืึทืกืข ืื•ืŸ ืึท ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื‘ืึทืจืึทืŸ.

ืื–ื•ื™, ื“ื™ ืคืืœื’ืขื ื“ืข ืžืึทื ื•ืึทืœ ื–ืึธืœ ื”ืขืœืคึฟืŸ ื‘ื™ื’ื™ื ืขืจื– (ืื•ืŸ ื ื™ื˜ ื‘ืœื•ื™ื–) ื ื™ืฆืขืจืก.
ืึทืœืข ื‘ื™ื™ืฉืคื™ืœืŸ ืื•ื ื˜ืŸ ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืื•ื™ืฃ Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

ืึทื–ื•ื™, ืœืึธื–ืŸ 'ืก ื‘ืึทืงื•ืžืขืŸ ืื ื’ืขื”ื•ื™ื‘ืŸ.

1. ื“ื™ืกื™ื™ื‘ืึทืœื™ื ื’ ืึทื ื™ื•ื–ื“ ืžืึทื“ื–ืฉื•ืœื–

ื“ืขืจ ืขืจืฉื˜ืขืจ ืื•ืคึฟืŸ ืื™ื– ืฆื• ืคืฉื•ื˜ ื“ื™ืกื™ื™ื‘ืึทืœ ืžืึทื“ื–ืฉื•ืœื– ื•ื•ืึธืก ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื ื•ืฆืŸ:

ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ื“ืขืจื•ื•ื™ื™ึทืœ ื’ืขื•ื•ื™ื™ื ื˜ ืžืึทื“ื–ืฉื•ืœื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื•ื•ื™ื•ื“ ืžื™ื˜ ื“ื™ ื‘ืึทืคึฟืขืœ:

apache2ctl -M

ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ื“ื™ ืžืึธื“ื•ืœืข, ื ื•ืฆืŸ ื“ืขื ื‘ืึทืคึฟืขืœ:

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

ืึทืงืงืึธืจื“ื™ื ื’ืœื™, ืฆื• ื’ืขื‘ืŸ ื“ืขื ืžืึธื“ื•ืœืข, ื ื•ืฆืŸ ื“ื™ ื‘ืึทืคึฟืขืœ:

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

ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ื•ื•ืขืŸ ื ื™ืฆืŸ a2dismod, ื“ืขืจ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืžืึธื“ื•ืœืข ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขืฉืจื™ื‘ืŸ ืึธืŸ ื“ื™ ื•ื•ืึธืจื˜ ืžืึธื“ื•ืœืข ื–ื™ืš.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืื™ืจ ื–ืขื ื˜ ืื™ืŸ ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื‘ืึทืคึฟืขืœ apache2ctl -M ื’ืขื–ืขืŸ ืคืจืืงืกื™_ืžืึธื“ื•ืœืข, ืื•ืŸ ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ืขืก ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ื‘ืึทืคึฟืขืœ - a2dismod proxy

ื“ื™ ืžืึทื“ื–ืฉื•ืœื– ื•ื•ืึธืก ืžืึทืกืข ื“ื™ ืกื™ืกื˜ืขื ื“ื™ ืžืขืจืกื˜ (ืคื•ืŸ ืคึผืขืจื–ืขื ืœืขืš ื“ืขืจืคืึทืจื•ื ื’) ื–ืขื ืขืŸ:

  • PHP, Ruby, Perl ืื•ืŸ ืื ื“ืขืจืข ืžืึทื“ื–ืฉื•ืœื– ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืŸ ืกืงืจื™ืคึผื˜ื™ื ื’ ืฉืคึผืจืึทื›ืŸ
  • ืกืกืœ
  • ืื™ื‘ืขืจืฉืจื™ื™ื‘ืŸ
  • ืงื’ื™

ืึทื–ื•ื™ ืื™ืŸ ืงืึทืกืขืก ื•ื•ื• ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคึฟืŸ ื“ื™ ืžืึทื“ื–ืฉื•ืœื–, ืื™ืš ืจืขืงืึธืžืขื ื“ื™ืจืŸ ื“ื™ืกื™ื™ื‘ืึทืœ ื“ื™ ืžืึทื“ื–ืฉื•ืœื–.

ืื•ื™ืš, ื ืึธืš ื“ื™ืกื™ื™ื‘ืึทืœื™ื ื’ ืงื™ื™ืŸ ืžืึธื“ื•ืœืข, ืื™ืš ืจืขืงืึธืžืขื ื“ื™ืจืŸ ื ื™ืฆืŸ ื“ื™ ื‘ืึทืคึฟืขืœ - apache2ctl configtest, ื•ื•ืึธืก ื•ื•ืขื˜ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ ื–ื™ื™ื˜ืœืขืš ืื•ืŸ ืื•ื™ื‘ ืงื™ื™ืŸ ืคื•ืŸ ื“ื™ ืคืึทืจืงืจื™ืคึผืœื˜ ืžืึทื“ื–ืฉื•ืœื– ื–ืขื ืขืŸ ื ื™ื™ื˜ื™ืง ืคึฟืึทืจ ื–ื™ื™, ืขืก ื•ื•ืขื˜ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ื˜ืขื•ืช.

2. ื˜ืฉืึทื ื’ื™ื ื’ ืžืคึผื (ืžื•ืœื˜ื™-ืคึผืจืึทืกืขืกื™ื ื’ ืžืึธื“ื•ืœืข) ืื•ืŸ ื ื™ืฆืŸ ืคืคึผ-ืคืคึผื

ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื ืึธืš ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’, Apache2 ื ื™ืฆื˜ MPM Prefork (1 ืคืึธื“ืขื ืคึผืขืจ 1 ืงืฉืจ), ื•ื•ืึธืก ื‘ืื˜ื™ื™ื˜ื™ืง ืจืึทื“ื•ืกืึทื– ืคืึธืจืฉื˜ืขืœื•ื ื’, ืึธื‘ืขืจ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ื™ืžืคึผืจื•ื•ื•ื– ืคืขืกื˜ืงื™ื™ึทื˜ ืื•ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜.

ืึธื‘ืขืจ ืฆื• ืึทืคึผื˜ืึทืžื™ื™ื– ืคืึธืจืฉื˜ืขืœื•ื ื’, ืื™ืš ืจืขืงืึธืžืขื ื“ื™ืจืŸ ื ื™ืฆืŸ MPM Worker, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ื•ืฆืŸ ืงื™ื™ืคืœ ืคึฟืขื“ืขื ืคึผืขืจ ืงืฉืจ.

ืฆื• ื’ืขื‘ืŸ ืขืก, ืžื™ืจ ื ื•ืฆืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทืžืึทื ื“ื–:

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

ืึธื‘ืขืจ, ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ื•ื•ืึธืจืงืขืจ ืื™ืจ ืงืขืŸ ื˜ืจืขืคืŸ ืึท ืคึผืจืึธื‘ืœืขื ื•ื•ื™ื™ึทืœ ... ื“ื™ php7.3 ืžืึธื“ื•ืœืข ื“ืขืคึผืขื ื“ืก ืื•ื™ืฃ ื“ื™ ืคึผืจืขืคืึธืจืง ืžืึธื“ื•ืœืข.

ืฆื• ืกืึธืœื•ื•ืข ื“ืขื ืคึผืจืึธื‘ืœืขื, ืœืึธื–ืŸ ืื•ื ื“ื– ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ php7.3-fpm ืžืึธื“ื•ืœืข, ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืœื•ื™ืคืŸ 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  //ะ’ะบะปัŽั‡ะฐะตะผ ะผะพะดัƒะปัŒ ะธ ะบะพะฝั„ะธะณ ะดะปั ะฝะตะณะพ

ืขืก ืื™ื– ื›ื“ืื™ ืฆื• ื‘ืืžืขืจืงืŸ ืึทื– ื ื™ืฆืŸ php-fpm ื•ื•ืขื˜ ืื•ื™ืš ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ื‘ืึทืจืึทืŸ ื’ืขื ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ืึทืคึผืึทื˜ืฉื™ 2 ืคึผืจืึธืฆืขืก ืื•ืŸ ืึท ื‘ื™ืกืœ ืคืึทืจื’ื™ื›ืขืจืŸ ื“ื™ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ PHP ืกืงืจื™ืคึผืก.

3. ืžืกืงื ื

ืื–ื•ื™, ืžื™ื˜ ืึทื–ืึท ืคึผืฉื•ื˜ ืึทืงืฉืึทื ื– ืžื™ืจ ื–ืขื ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ืึทืคึผื˜ืึทืžื™ื™ื– ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ืŸ ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืžืึทืกืข ืื•ื™ืฃ ื“ื™ ืžืึทืฉื™ืŸ (ืื™ืŸ ื“ืขื ืคืึทืœ RPI3).

ืคื•ืŸ ืงื•ืจืก, ืขืก ื–ืขื ืขืŸ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืื ื“ืขืจืข ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืึธืคึผืฆื™ืขืก, ื•ื•ื™ ืขื ื™ื™ื‘ืึทืœื™ื ื’ ืงืึทืžืคึผืจืขืฉืึทืŸ (ื•ื•ืึธืก ืื™ื– ื˜ืึทืงืข ื ื•ืฆื™ืง, ืึธื‘ืขืจ ืจื•ื‘ึฟ ื–ืขื ืขืŸ ืฉื•ื™ืŸ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜), ื˜ืฉืึทื ื’ื™ื ื’ MPM ืกืขื˜ื˜ื™ื ื’ืก (ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก), ื“ื™ืกื™ื™ื‘ืึทืœ ื”ืึธืกื˜ื ืึทืžืขืœืึธืึธืงื•ืคึผ, ืืื–"ื• ื•, ืึธื‘ืขืจ ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื™ืš ื’ืขืคืจื•ื•ื•ื˜ ืฆื• ื˜ืึธืŸ ื“ืึธืก. ืคืึทืจื˜ืจืึทื›ื˜ื  ื–ื™ืš ื“ื™ ื–ืขื ืขืŸ ื“ื™ ืคื•ื ืงื˜ืŸ ื•ื•ืึธืก ื’ืขื”ืึธืœืคึฟืŸ ืžื™ืจ ื“ื™ ืžืขืจืกื˜, ืื•ืŸ ืื™ืš ื”ืึธืคึฟืŸ ื•ื•ืขื˜ ื”ืขืœืคึฟืŸ ืื ื“ืขืจืข.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’