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 เจชเฉเจฐเฉŒเจ•เจธเฉ€

เจฎเฉˆเจกเจฟเจŠเจฒ เจœเฉ‹ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฒเฉ‹เจก เจ•เจฐเจฆเฉ‡ เจนเจจ (เจจเจฟเฉฑเจœเฉ€ เจ…เจจเฉเจญเจต เจคเฉ‹เจ‚) เจนเจจ:

  • เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจ•เฉเจฐเจฟเจชเจŸเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ PHP, เจฐเฉ‚เจฌเฉ€, เจชเจฐเจฒ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฎเฉ‹เจกเฉ€เจŠเจฒ
  • SSL เจจเฉ‚เฉฐ
  • เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ–เฉ‹
  • CGI

เจ‡เจธ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจœเจฟเฉฑเจฅเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจนเจจเจพเจ‚ เจฎเฉˆเจกเจฟเจŠเจฒเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจฎเฉˆเจ‚ เจ‡เจนเจจเจพเจ‚ เจฎเฉ‹เจกเฉ€เจŠเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚เฅค

เจจเจพเจฒ เจนเฉ€, เจ•เจฟเจธเฉ‡ เจตเฉ€ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจ‚ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚ - apache2ctl เจธเฉฐเจฐเจšเจจเจพ, เจœเฉ‹ เจตเจฐเจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจ•เฉ‹เจˆ เจ…เจฏเฉ‹เจ— เจฎเฉ‹เจกเฉ€เจŠเจฒ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€, เจคเจพเจ‚ เจ‡เจน เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจชเฉˆเจฆเจพ เจ•เจฐเฉ‡เจ—เจพเฅค

2. MPM (เจฎเจฒเจŸเฉ€-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฎเฉ‹เจกเฉ€เจŠเจฒ) เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจ…เจคเฉ‡ php-fpm เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ

เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, apache2 MPM เจชเฉเจฐเฉ€เจซเฉ‹เจฐเจ• (1 เจฅเฉเจฐเฉˆเจก เจชเฉเจฐเจคเฉ€ 1 เจ•เฉเจจเฉˆเจ•เจธเจผเจจ) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ˜เจŸเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจฅเจฟเจฐเจคเจพ เจ…เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจชเจฐ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจฎเฉˆเจ‚ MPM เจตเจฐเจ•เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเจคเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ•เจˆ เจฅเฉเจฐเฉˆเจกเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจธเจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

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 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจจเจพเจฒ apache2 เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉเจ†เจฐเจพ เจตเจฐเจคเฉ€ เจ—เจˆ RAM เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจตเฉ€ เจ˜เจŸเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ PHP เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเฉเจนเจพ เจคเฉ‡เจœเจผ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

3. เจธเจฟเฉฑเจŸเจพ

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจงเจพเจฐเจจ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจฒเฉ‹เจก เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€ (เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš RPI3)เฅค

เจฌเฉ‡เจธเจผเฉฑเจ•, เจ‡เฉฑเจฅเฉ‡ เจธเฉˆเจ‚เจ•เฉœเฉ‡ เจนเฉ‹เจฐ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจตเจฟเจ•เจฒเจช เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เฉฐเจชเจฐเฉˆเจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจเจพ (เจœเฉ‹ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจนเฉˆ, เจชเจฐ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅ เจนเจจ), MPM เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ (เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚) เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ, HostnameLookups เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจเจพ, เจ†เจฆเจฟ, เจชเจฐ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจนเฉˆ เจ‡เจน เจ‰เจน เจจเฉเจ•เจคเฉ‡ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ เจฎเฉ‡เจฐเฉ€ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฎเจฆเจฆ เจ•เฉ€เจคเฉ€, เจ…เจคเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจฆเฉ‚เจœเจฟเจ†เจ‚ เจฆเฉ€ เจฎเจฆเจฆ เจ•เจฐเจจเจ—เฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹