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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛