ΠΠ°ΠΊΠ²ΠΎ Π΅ LAMP ΡΡΠ΅ΠΊ? ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅
Π‘ΡΠ΅ΠΊΡΡ LAMP Π΅ Π΄ΠΎΠΊΠ°Π·Π°Π½ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΡΠΎΡΡΡΠ΅Ρ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΡΡΡΡΠΎΡΡ ΡΠ΅ ΠΎΡ Linux (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°), Apache (ΡΠ΅Π± ΡΡΡΠ²ΡΡ), MySQL (ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ) ΠΈ PHP (ΡΡΡΠ²ΡΡΠ΅Π½ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΅Π·ΠΈΠΊ). ΠΠ°Π΅Π΄Π½ΠΎ ΡΠ΅Π·ΠΈ ΡΠ΅ΡΠΈΡΠΈ ΡΠ»ΠΎΡ ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ ΠΏΡΠ»Π½Π°, ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΊΡΠΎΠ½ΠΈΠΌΡΡ ΠΎΠΏΠΈΡΠ²Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, Π² ΠΊΠΎΠΉΡΠΎ ΡΡΠ°ΡΡΠ²Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΠΎΠΉ.
ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΠΎΡΠ΅Π½ΡΠ²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π·Π° ΡΠ΅Π± Ρ ΠΎΡΡΠΈΠ½Π³, LAMP ΠΎΡΡΠ°Π²Π° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΠ°ΡΠ°ΡΠ° Π±Π°Π·ΠΎΠ²Π° Π»ΠΈΠ½ΠΈΡ: ΡΠΎΠΉ ΡΡΠΎΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Π½Π°Π΄ 30% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ²ΡΡΠ½ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π² ΡΠ²Π΅ΡΠΎΠ²Π΅Π½ ΠΌΠ°ΡΠ°Π±, Π·Π°Ρ ΡΠ°Π½Π²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΡΠΎ WordPress, Drupal ΠΈ Magento ΠΈ Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° ΡΠ΅Π»Π΅Π²Π° ΡΡΠ΅Π΄Π° Π·Π° Ρ ΠΈΠ»ΡΠ΄ΠΈ PHP ΡΠ°ΠΌΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΌΡ ΡΡΡΡΠΊΡΡΡΠ° β Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΠΌΡ β Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΠΎ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ ΠΎΡ Π·Π°ΡΠΈΡΠ΅Π½Π°, Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
Π§Π΅ΡΠΈΡΠΈΡΠ΅ ΡΠ»ΠΎΡ Π½Π° ΡΡΠ΅ΠΊΠ° LAMP: Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ° ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ°
Linux: ΠΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΡΠ»ΠΎΠΉ
Linux Π΅ ΡΠ΄ΡΠΎΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ°ΡΠ° ΡΡΠ΅Π΄Π°, Π²ΡΡΡ Ρ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΡΡΠ³ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° LAMP. Π ΠΎΠ»ΡΡΠ° ΠΌΡ Π½Π΅ Π΅ ΠΏΠ°ΡΠΈΠ²Π½Π°: Linux ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΡΠΎ I/O, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΡΠΊΠΎ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΡΡΠ³ ΡΠ»ΠΎΠΉ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π½Π° LAMP:
- ΠΠ·Π±ΠΎΡΡΡ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ ΠΈΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Ubuntu LTS ΠΈ Debian ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π·Π°ΡΠ°Π΄ΠΈ Π΄ΡΠ»Π³ΠΈΡΠ΅ ΡΠΈ ΡΠΈΠΊΠ»ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ ΠΎΠ±ΡΠΈΡΠ½ΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ. RHEL/AlmaLinux/Rocky Linux ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π² ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΡΠ΅Π΄ΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° SELinux.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ β ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ `vm.swappiness`, `net.core.somaxconn` ΠΈ `fs.file-max` β ΠΎΠΊΠ°Π·Π²Π° ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠΎ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΡΡ Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π½Π° Apache Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
- Π£ΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΠΠ‘ (Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° `iptables` ΠΈΠ»ΠΈ `nftables`, Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° `fail2ban`) Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ°Π²ΠΊΠ°, Π° Π½Π΅ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠΈ ΠΊΠ°ΠΊΡΠ²ΡΠΎ ΠΈ Π΄Π° Π΅ ΡΠ΅Π± ΡΡΠ΅ΠΊ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ.
- ΠΠ·Π±ΠΎΡΡΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. XFS ΠΈ ext4 Ρ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ `noatime` Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ Π½Π΅Π½ΡΠΆΠ½ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡ ΡΠ΅ΡΠ°Π²Π°ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ MySQL ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ΡΡΠΈ ΠΌΠ°Π»ΠΊΠΈ I/O ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ LAMP Π² ΡΡΠ΅Π΄Π° Π·Π° VPS Π₯ΠΎΡΡΠΈΠ½Π³, Π·Π°ΠΏΠ°Π·Π²Π°ΡΠ΅ ΠΏΡΠ»Π΅Π½ root Π΄ΠΎΡΡΡΠΏ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ β Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ½ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΡΠΈΠ³ΡΡΡΡ.
Apache: Π‘Π»ΠΎΡΡ Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ°
Apache HTTP Server (httpd) Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. Π’ΠΎΠΉ ΡΠ»ΡΡΠ° Π½Π° TCP ΠΏΠΎΡΡΠΎΠ²Π΅ 80 ΠΈ 443, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ HTTP/HTTPS Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ Π΄ΠΈΡΠΊΠ°, ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π³ΠΈΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Π½Π° PHP.
ΠΡΠΈΡΠΈΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ:
- ΠΠ·Π±ΠΎΡΡΡ Π½Π° MPM (Multi-Processing Module) Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° Apache. Π’ΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ β `prefork`, `worker` ΠΈ `event` β ΠΈΠΌΠ°Ρ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ:
- `prefork`: ΠΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° Π²ΡΡΠ·ΠΊΠ°. Π‘ΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ `mod_php`, Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΠ΅Ρ. ΠΠ·Π±ΡΠ³Π²Π°ΠΉΡΠ΅ Π³ΠΎ Π½Π° ΡΡΡΠ²ΡΡΠΈ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ.
- `worker`: ΠΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ². ΠΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈ Π·Π° Π½ΠΈΡΠΊΠΈ PHP ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ.
- `event`: Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡ. ΠΠ±ΡΠ°Π±ΠΎΡΠ²Π° keep-alive Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Π½ΠΈΡΠΊΠ°, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°ΠΉΠΊΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ Π½ΠΈΡΠΊΠΈ Π·Π° Π°ΠΊΡΠΈΠ²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ. ΠΠ°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Ρ Π²ΠΈΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊ.
- `mod_php` ΡΡΠ΅ΡΡ PHP-FPM: ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° PHP ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ» Π½Π° Apache (`mod_php`) Π΅ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° PHP ΠΏΡΠΎΡΠ΅ΡΠ° Ρ ΡΠΎΠ·ΠΈ Π½Π° Apache. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° PHP-FPM (FastCGI Process Manager) ΡΡΠ΅Π· `mod_proxy_fcgi` Π³ΠΈ ΡΠ°Π·Π΄Π΅Π»Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠ»Π° ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° PHP Π²Π΅ΡΡΠΈΠΈ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
- Π€Π°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ `.htaccess` ΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΈ, Π½ΠΎ ΡΠΊΡΠΏΠΈ: Apache Π³ΠΈ ΠΏΡΠΎΡΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΡΠΈ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½ΠΈΡ. Π ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅ `<Directory>` Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ Π·Π°Π΄Π°ΠΉΡΠ΅ `AllowOverride None` Π½Π°Π²ΡΡΠΊΡΠ΄Π΅, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ.
- ΠΠΈΡΡΡΠ°Π»Π½ΠΈΡΡ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° Apache Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, Π²ΡΠ΅ΠΊΠΈ Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π·Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ, SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅.
MySQL: Π‘Π»ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅
MySQL Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ (RDBMS), ΠΊΠΎΡΡΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π°, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ° ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SQL. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° LAMP, PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ Ρ MySQL ΡΡΠ΅Π· ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° PDO ΠΈΠ»ΠΈ MySQLi Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, Π° MySQL Π²ΡΡΡΠ° Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, ΠΊΠΎΠΈΡΠΎ PHP ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Π² HTML ΠΈΠ»ΠΈ JSON.
ΠΡΠΈΡΠΈΡΠ½ΠΎ Π²Π°ΠΆΠ½ΠΈ Π·Π½Π°Π½ΠΈΡ Π·Π° MySQL Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°:
- ΠΠ·Π±ΠΎΡ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: InnoDB Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ ΠΈΠ·Π±ΠΎΡ Π·Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΈΡΠΊΠΈ LAMP Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ. Π’ΠΎΠΉ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ACID-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΅Π΄ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅. MyISAM Π½ΡΠΌΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ°Π±Π»ΠΈΡΠ° β ΠΈΠ·Π±ΡΠ³Π²Π°ΠΉΡΠ΅ Π³ΠΎ Π·Π° Π½ΠΎΠ²ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ.
- `innodb_buffer_pool_size` Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ΅Π½ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° MySQL. Π’ΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π½Π° 70β80% ΠΎΡ Π½Π°Π»ΠΈΡΠ½Π°ΡΠ° RAM Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΡΡΠ²ΡΡ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈΡΡ ΠΌΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π° MySQL Π΄Π° ΡΠ΅ΡΠ΅ ΠΎΡ Π΄ΠΈΡΠΊΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΈΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅.
- MariaDB Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° MySQL, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° MySQL ΡΠ»Π΅Π΄ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ Oracle. ΠΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ (ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΡΠΈ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ) ΠΈ Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° MySQL ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΌΠ½ΠΎΠ³ΠΎ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ.
- ΠΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ: ΠΠΎΡΡΠΎΡΠ½Π½ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ Π½Π° PHP (`PDO::ATTR_PERSISTENT`) ΠΈΠ»ΠΈ Π²ΡΠ½ΡΠ΅Π½ ΠΎΠ±Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π» ΠΊΠ°ΡΠΎ ProxySQL Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²Π° TCP Π²ΡΡΠ·ΠΊΠ° ΠΈ ΡΡΠΊΠΎΡΡΠΈΡΠΊΠ°Π½Π΅ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΏΡΠΈ Π²ΡΡΠΊΠ° PHP Π·Π°ΡΠ²ΠΊΠ°.
- Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅: ΠΠΈΠΏΡΠ²Π°ΡΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° ΡΠ΅ΡΡΠΎ Π·Π°ΡΠ²ΡΠ²Π°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ (ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π² ΠΊΠ»Π°ΡΠ·ΠΈΡΠ΅ `WHERE`, `JOIN` ΠΈ `ORDER BY`) ΡΠ° Π½Π°ΠΉ-ΡΠ΅ΡΡΠ°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° Π²Π»ΠΎΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° LAMP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ `EXPLAIN` Π·Π° ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ.
PHP: Π‘Π»ΠΎΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ
PHP (PHP: Hypertext Preprocessor) Π΅ ΡΡΡΠ²ΡΡΠ½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΅Π·ΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. Π’ΠΎΠΉ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ Apache (ΡΡΠ΅Π· `mod_php` ΠΈΠ»ΠΈ PHP-FPM), ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΏΡΠ°Π²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ MySQL ΠΈ Π²ΡΡΡΠ° HTML, JSON ΠΈΠ»ΠΈ Π΄ΡΡΠ³ ΠΈΠ·Ρ ΠΎΠ΄ ΠΊΡΠΌ Apache Π·Π° Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π½ΡΠ°Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅:
- ΠΠ΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π΅ ΠΎΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. PHP 7.4 Π΄ΠΎΡΡΠΈΠ³Π½Π° ΠΊΡΠ°Ρ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈ ΡΠΈΠΊΡΠ» ΠΏΡΠ΅Π· Π½ΠΎΠ΅ΠΌΠ²ΡΠΈ 2022 Π³. PHP 8.0 ΠΈ 8.1 ΡΡΡΠΎ ΡΠ° EOL. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ PHP 8.2 ΠΈΠ»ΠΈ 8.3, ΠΊΠΎΠΈΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ, Π²Π»Π°ΠΊΠ½Π° ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠΏΡΡΠΌΠΎ PHP 7.x.
- OPcache Π΅ ΠΊΠ΅Ρ Π·Π° Π±Π°ΠΉΡΠΊΠΎΠ΄, Π²Π³ΡΠ°Π΄Π΅Π½ Π² PHP. ΠΠΎΠ³Π°ΡΠΎ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½, ΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Π΄ΠΎ Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΏΡΡΠ²ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° Π² ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΠΉΠΊΠΈ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠΈ ΡΠ»Π΅Π΄Π²Π°ΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° OPcache Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ `opcache.memory_consumption` ΠΈ `opcache.max_accelerated_files` ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° PHP Ρ 30β70%.
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΏΡΠ»Π° PHP-FPM: ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° `pm` ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ. `pm = dynamic` Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ; `pm = ondemand` ΠΏΠ΅ΡΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π½Π° ΡΡΡΠ²ΡΡΠΈ Ρ Π½ΠΈΡΡΠΊ ΡΡΠ°ΡΠΈΠΊ; `pm = static` ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²ΠΈΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊ.
- ΠΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΡΠ°ΠΌΠΊΠΈ: Laravel, Symfony, CodeIgniter ΠΈ Slim ΡΠ° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΠ°ΡΠΈΡΠ΅ PHP ΡΠ°ΠΌΠΊΠΈ. Laravel ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π° Π² Π΄Π΅ ΡΠ°ΠΊΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΉΠΊΠΈ ORM (Eloquent), ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΠΏΠ°ΡΠΊΠΈ ΠΈ CLI ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ (Artisan), ΠΊΠΎΠΈΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΡΠ²Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°.
- βPβ Π΅ Π³ΡΠ²ΠΊΠ°Π²ΠΎ: ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ PHP Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½, ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π±ΡΠΊΠ²Π° Π½Π° Π°ΠΊΡΠΎΠ½ΠΈΠΌΠ° LAMP ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Perl (ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ Π² Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ CGI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π±ΠΈΠΎΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ) ΠΈΠ»ΠΈ Python (ΡΡΠ΅Π· `mod_wsgi` ΠΈΠ»ΠΈ WSGI-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΠΏΡΠΎΠΊΡΠΈ), Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΡΠ΅ΠΊΠΎΠ²Π΅ΡΠ΅ Ρ ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°Π²Π°Ρ Python ΠΏΠΎ-ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ LEMP (Nginx) ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ WSGI ΡΡΡΠ²ΡΡΠΈ.
ΠΠ°ΠΊ ΡΡΠ΅ΠΊΡΡ LAMP ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π·Π°ΡΠ²ΠΊΠ°: ΠΡΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ
Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°.
- DNS ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡ: ΠΠ»ΠΈΠ΅Π½ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° Π΄ΠΎ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°. TTL ΠΈ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ° Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°Π½ΠΎΡΠΎ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ.
- TCP ΡΡΠΊΠΎΡΡΠΈΡΠΊΠ°Π½Π΅ + TLS Π΄ΠΎΠ³ΠΎΠ²Π°ΡΡΠ½Π΅: ΠΡΠΈ HTTPS, TLS ΡΡΠΊΠΎΡΡΠΈΡΠΊΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠ΅Π΄ΠΈ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΠΊΠ°ΠΊΠ²ΠΈΡΠΎ ΠΈ Π΄Π° Π΅ HTTP Π΄Π°Π½Π½ΠΈ. ΠΠ°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, Π΄ΠΎΠ³ΠΎΠ²Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈΡ Π½Π°Π±ΠΎΡ ΠΈ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΡΡΠ° ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ ΡΡΠΊ.
- Apache ΠΏΠΎΠ»ΡΡΠ°Π²Π° HTTP Π·Π°ΡΠ²ΠΊΠ°ΡΠ°: MPM `event` Π½Π° Apache ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ½Π° Π½ΠΈΡΠΊΠ°. Apache Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΏΡΠΈΠ»Π°Π³Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° `mod_rewrite`, ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° `.htaccess` (Π°ΠΊΠΎ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½) ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄Π°Π»ΠΈ Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈ ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ° PHP.
- ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° PHP: ΠΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, Apache ΠΏΡΠ΅Π΄Π°Π²Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΊΡΠΌ PHP-FPM ΡΡΠ΅Π· FastCGI. PHP-FPM ΠΈΠ·Π±ΠΈΡΠ° Π½Π°Π»ΠΈΡΠ΅Π½ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΎΡ ΠΏΡΠ»Π° ΡΠΈ, Π·Π°ΡΠ΅ΠΆΠ΄Π° ΡΠΊΡΠΈΠΏΡΠ° (ΠΎΡ OPcache, Π°ΠΊΠΎ Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ) ΠΈ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
- ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° MySQL Π·Π°ΡΠ²ΠΊΠ°: PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° SQL Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ΅Π· PDO. MySQL ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΊΠ΅ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠΈ (ΠΎΡΡΠ°ΡΡΠ» Π² MySQL 8.0), Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΏΠ»Π°Π½ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈΠ·Π²Π»ΠΈΡΠ° Π΄Π°Π½Π½ΠΈ ΠΎΡ InnoDB Π±ΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠ» ΠΈΠ»ΠΈ Π΄ΠΈΡΠΊΠ° ΠΈ Π²ΡΡΡΠ° Π½Π°Π±ΠΎΡΠ° ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ.
- Π‘Π³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ°: PHP ΡΠ³Π»ΠΎΠ±ΡΠ²Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΈΡ HTML ΠΈΠ»ΠΈ JSON ΠΈΠ·Ρ ΠΎΠ΄, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ.
- Apache Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ°: Apache ΠΏΡΠΈΠ»Π°Π³Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΡΠΈΠ»ΡΡΠΈ (Π½Π°ΠΏΡ. `mod_deflate` Π·Π° gzip ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ), Π·Π°Π΄Π°Π²Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° (cache-control, content-type, Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ) ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°ΡΠ° TCP Π²ΡΡΠ·ΠΊΠ°.
LAMP ΡΡΠ΅ΡΡ LEMP ΡΡΠ΅ΡΡ MEAN: Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅
| Π€ΡΠ½ΠΊΡΠΈΡ | LAMP | LEMP | MEAN |
|---|---|---|---|
| Π£Π΅Π± ΡΡΡΠ²ΡΡ | Apache | Nginx | Node.js (Π²Π³ΡΠ°Π΄Π΅Π½) |
| ΠΠ°Π·Π° Π΄Π°Π½Π½ΠΈ | MySQL / MariaDB | MySQL / MariaDB | MongoDB |
| ΠΠ·ΠΈΠΊ | PHP (ΠΈΠ»ΠΈ Perl/Python) | PHP ΡΡΠ΅Π· PHP-FPM | JavaScript (Node.js) |
| ΠΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ | ΠΠ°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ/Π½ΠΈΡΠΊΠΈ | Π£ΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ ΠΎΡ ΡΡΠ±ΠΈΡΠΈΡ, Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ | Π£ΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ ΠΎΡ ΡΡΠ±ΠΈΡΠΈΡ, Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ |
| ΠΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ | ΠΠΎΠ±ΡΠΎ | ΠΡΠ»ΠΈΡΠ½ΠΎ | Π£ΠΌΠ΅ΡΠ΅Π½ΠΎ |
| Π‘ΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ PHP | ΠΠ°ΡΠΈΠ²Π½Π° | Π§ΡΠ΅Π· FastCGI (PHP-FPM) | ΠΠ΅ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΎ |
| ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ | Π£ΠΌΠ΅ΡΠ΅Π½ΠΎ Π΄ΠΎ Π²ΠΈΡΠΎΠΊΠΎ | ΠΠΈΡΠΊΠΎ Π΄ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΎ | Π£ΠΌΠ΅ΡΠ΅Π½ΠΎ |
| Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° | Π£ΠΌΠ΅ΡΠ΅Π½Π° | Π£ΠΌΠ΅ΡΠ΅Π½Π° | ΠΠΎ-Π²ΠΈΡΠΎΠΊΠ° |
| ΠΠ°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° | CMS, Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, WordPress | PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²ΠΈΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊ, API | ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, SPA |
| ΠΡΠΈΠ²Π° Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ | ΠΠΈΡΠΊΠ° | ΠΠΈΡΠΊΠ° Π΄ΠΎ ΡΠΌΠ΅ΡΠ΅Π½Π° | Π£ΠΌΠ΅ΡΠ΅Π½Π° Π΄ΠΎ Π²ΠΈΡΠΎΠΊΠ° |
ΠΠ»ΡΡΠΎΠ²ΠΎ ΠΏΡΠΎΠ·ΡΠ΅Π½ΠΈΠ΅: LEMP (Linux, Nginx, MySQL, PHP) Π½Π΅ Π΅ Π·Π°ΠΌΠ΅ΡΡΠΈΡΠ΅Π» Π½Π° LAMP, Π° Π²Π°ΡΠΈΠ°Π½Ρ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Nginx, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½Π° ΠΎΡ ΡΡΠ±ΠΈΡΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Ρ ΠΈΠ»ΡΠ΄ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ keep-alive Π²ΡΡΠ·ΠΊΠΈ Ρ ΠΌΠ°Π»ΠΊΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° MPM `prefork` Π½Π° Apache. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° `.htaccess` ΠΈ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ° Π½Π° `mod_rewrite` Π½Π° Apache Π³ΠΎ ΠΏΡΠ°Π²ΡΡ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π² ΡΡΠΈΠ» ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π·ΡΠΈΡΠ°ΡΠΈ Π² Π³ΠΎΠ»ΡΠΌΠ° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΡΠ΅ΠΊΠΎΠ²Π΅ΡΠ΅ LAMP
Π‘ΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅
WordPress, Joomla ΠΈ Drupal ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΡΠ΅ΠΊΠ° LAMP. Π‘Π°ΠΌΠΎ WordPress Π·Π°Ρ ΡΠ°Π½Π²Π° Π½Π°Π΄ 43% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Π² ΡΠ²Π΅ΡΠΎΠ²Π΅Π½ ΠΌΠ°ΡΠ°Π±, Π° ΡΡΠ»Π°ΡΠ° ΠΌΡ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ (60 000+ ΠΏΠ»ΡΠ³ΠΈΠ½Π°) ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° LAMP ΡΡΠ΅Π΄Π°. Π Π°Π±ΠΎΡΠ°ΡΠ° Π½Π° WordPress Π²ΡΡΡ Ρ Π½Π΅ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ LAMP ΠΈΠ»ΠΈ LEMP ΡΡΠ΅ΠΊ Π²ΡΠ²Π΅ΠΆΠ΄Π° ΡΠΈΡΠΊΠΎΠ²Π΅ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈ MySQL Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Apache ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ
Magento (Adobe Commerce), WooCommerce ΠΈ OpenCart ΡΠ° Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ LAMP. ΠΠ°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡΡΠ° ΠΏΡΠΈ Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ ΡΠ° ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π·ΠΈΡΠΊΠ°ΡΠ΅Π»Π½ΠΈ: ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ACID-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (InnoDB), ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠΈΠΈ, ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±Π»ΠΈΡΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ SSL ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅. ΠΡΠ°Π²ΠΈΠ»Π½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π° ΡΡΠ΅Π΄Π° Ρ Dedicated Servers ΠΈ NVMe ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° I/O ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ, ΠΊΠΎΡΡΠΎ ΡΠ΅Π·ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ.
RESTful ΠΈ GraphQL API
PHP ΡΠ°ΠΌΠΊΠΈ ΠΊΠ°ΡΠΎ Laravel ΠΈ Lumen ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π°Ρ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° API Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅. LAMP-Π±Π°Π·ΠΈΡΠ°Π½ API ΡΡΡΠ²ΡΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ JSON ΠΏΠΎ HTTP, Π΅ ΠΎΠ±ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π·Π° Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, SaaS ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ. ΠΠΎΠ΄Π΅Π»ΡΡ Π½Π° ΠΏΡΠ» ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° PHP-FPM ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, Π° ΡΠΈΠΏΡΡ ΠΊΠΎΠ»ΠΎΠ½Π° JSON Π½Π° MySQL (Π½Π°Π»ΠΈΡΠ΅Π½ ΠΎΡ MySQL 5.7) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ»ΡΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π±Π΅Π· ΠΈΠ·ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΡΠ»ΠΎΡΡ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠ°ΡΡ ΠΎΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΡΠ΅Π± ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ PHP 5.x ΠΈΠ»ΠΈ 7.x, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠΈΠ²ΠΈΠ°Π»Π½ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½ΠΈ. LAMP ΠΎΡΡΠ°Π²Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ LAMP ΡΡΠ΅ΠΊΠΎΠ²Π΅ Ρ Docker (Ρ Π±Π°Π·ΠΎΠ²ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ `php:7.4-apache`) ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ ΠΈ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π°.
Π‘ΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅
LAMP Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π»ΠΎΠΊΠ°Π»Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π° PHP ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π° ΡΡΠ΅Π· Docker Compose, Vagrant ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ XAMPP ΠΈ Laragon. ΠΠ³Π»Π΅Π΄Π°Π»Π½ΠΎΡΠΎ ΠΎΡΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π°ΡΠ° LAMP ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° ΠΊΠ»Π°ΡΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ βΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΌΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Π°β.
Π£ΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ LAMP ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° LAMP ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π΅ Π΅ Π³ΠΎΡΠΎΠ²Π° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°. Π‘Π»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΡΠΏΠΊΠΈ Π·Π° ΡΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ:
ΠΠΈΠ²ΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ root SSH Π²Ρ ΠΎΠ΄; ΠΏΡΠΈΠ»Π°Π³Π°ΠΉΡΠ΅ ΡΠ°ΠΌΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Ρ ΠΊΠ»ΡΡ
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ `ufw` ΠΈΠ»ΠΈ `firewalld` Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΡΠΎΠ²Π΅ 22, 80 ΠΈ 443
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΠ‘
- ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ `fail2ban` Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠΈΡΠΈ Π·Π° Π³ΡΡΠ±Π° ΡΠΈΠ»Π° ΡΡΠ΅ΡΡ SSH ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΈΠ²ΠΎ Π½Π° Apache
- ΠΠ°Π΄Π°ΠΉΡΠ΅ `ServerTokens Prod` ΠΈ `ServerSignature Off` Π·Π° ΠΏΠΎΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ°
- ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΠΊΠ° Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ (`Options -Indexes`)
- ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ: `X-Content-Type-Options`, `X-Frame-Options`, `Content-Security-Policy`, `Strict-Transport-Security`
- ΠΡΠΈΠ»Π°Π³Π°ΠΉΡΠ΅ HTTPS Ρ Π²Π°Π»ΠΈΠ΄Π΅Π½ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ β ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° SSL Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π·Π° Π²ΡΡΠΊΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅
ΠΠΈΠ²ΠΎ Π½Π° MySQL
- Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ `mysql_secure_installation` Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°
- Π‘ΡΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ β Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ `root` Π·Π° Π²ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- Π‘Π²ΡΡΠΆΠ΅ΡΠ΅ MySQL Ρ `127.0.0.1`, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ Π½Π΅ Π΅ ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ
ΠΠΈΠ²ΠΎ Π½Π° PHP
- ΠΠ°Π΄Π°ΠΉΡΠ΅ `expose_php = Off` Π² `php.ini`
- ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΠΎΠΏΠ°ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ: `exec`, `passthru`, `shell_exec`, `system`, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ ΡΠ° ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ
- ΠΠ°Π΄Π°ΠΉΡΠ΅ `display_errors = Off` ΠΈ `log_errors = On` Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ `open_basedir` Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° PHP ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΉΡΠ΅ PHP Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° Π²Π΅ΡΡΠΈΡ
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈΡΡ LAMP ΡΡΠ΅ΠΊ Π±Π΅Π· ΡΠ»ΠΎΠΉ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΏΡΠΎΠΏΡΡΠΊΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ:
- OPcache: ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ PHP. Π’ΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Ρ Π½Π°ΠΉ-Π³ΠΎΠ»ΡΠΌΠΎ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° PHP.
- ΠΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ: Redis ΠΈΠ»ΠΈ Memcached ΠΊΠ°ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π° ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ΅ΡΠΈΠΈ ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. WordPress Ρ Redis ΠΊΠ΅Ρ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ MySQL Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Ρ Π½Π°Π΄ 80% Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ.
- ΠΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ: Varnish Cache ΠΏΡΠ΅Π΄ Apache ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ HTML ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π±Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° PHP ΠΈΠ»ΠΈ MySQL ΠΈΠ·ΠΎΠ±ΡΠΎ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΠΉΠΊΠΈ Π΄Π΅ΡΠ΅ΡΠΊΠΈ Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π½Π° ΡΠΊΡΠΎΠΌΠ΅Π½ Ρ Π°ΡΠ΄ΡΠ΅Ρ.
- Apache `mod_cache`: ΠΠ° ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Apache ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠ΅ΡΠΈΡΠ° ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΈ TTL.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° Π±Π°Π²Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ (`slow_query_log = 1`, `long_query_time = 1`) ΠΈ Π³ΠΎ ΠΎΠ΄ΠΈΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ Ρ `mysqldumpslow` ΠΈΠ»ΠΈ `pt-query-digest`
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ `EXPLAIN ANALYZE` Π·Π° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡ Π΅ΠΌΠ°ΡΠ°
- ΠΠ½Π΅Π΄ΡΠ΅ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π·Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Ρ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅, Π·Π° Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ MySQL Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Apache
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ `mod_deflate` Π·Π° gzip ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ (HTML, CSS, JavaScript, JSON)
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ `mod_expires` ΠΈ `Cache-Control` Π·Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π°ΠΊΡΠΈΠ²ΠΈ, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ `MaxRequestWorkers`, `ServerLimit` ΠΈ `ThreadsPerChild` Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½Π°Π»ΠΈΡΠ½Π°ΡΠ° RAM ΠΈ ΠΎΡΠ°ΠΊΠ²Π°Π½Π°ΡΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ
Π Π°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊ LAMP: ΠΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΡΠ½Π΅ΡΠ΅ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ LAMP ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° VPS Ρ cPanel ΠΈΠ»ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Linux VPS, ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:
- Linux ΠΠ‘ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°; ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°
- Apache ΡΠ°Π±ΠΎΡΠΈ Ρ MPM `event` ΠΈ PHP-FPM (Π½Π΅ `mod_php`)
- ΠΠ΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π΅ 8.2 ΠΈΠ»ΠΈ 8.3; OPcache Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½
- MySQL ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ InnoDB; `innodb_buffer_pool_size` Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ ΡΠΏΡΡΠΌΠΎ Π½Π°Π»ΠΈΡΠ½Π°ΡΠ° RAM
- ΠΡΠΈΡΠΊΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ MySQL ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ
- HTTPS Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ Ρ Π²Π°Π»ΠΈΠ΄Π΅Π½ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ; HTTP ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° ΠΊΡΠΌ HTTPS
- ΠΠ°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Apache
- `fail2ban` Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° Apache
- ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Ρ ΡΠ°ΠΌΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΠ²Π΅
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΈ ΠΈ ΡΠ΅ΡΡΠ²Π°Π½ΠΈ
- Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΠ² ΡΠ°ΠΉΠ», Π° Π½Π΅ Π² ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°
ΠΠΎΠ³Π° LAMP Π½Π΅ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΡ ΠΈΠ·Π±ΠΎΡ
LAMP Π½Π΅ Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½. Π Π°Π·ΠΏΠΎΠ·Π½Π°ΠΉΡΠ΅ ΡΠ΅Π·ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ ΡΠ° ΠΏΠΎ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ:
- ΠΠ²ΡΠΏΠΎΡΠΎΡΠ½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (ΡΠ°Ρ, ΡΠ°Π±Π»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎ, ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅): Node.js Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° WebSocket ΠΈΠ»ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Go, ΡΠ° ΠΏΠΎ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ. Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° PHP ΠΈ ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ» Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π·Π° Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΡΠ° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ.
- ΠΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Ρ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ: CDN ΠΈΠ»ΠΈ Nginx, ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ΅ Π½Π°Π΄ΠΌΠΈΠ½Π΅ Apache ΠΏΡΠΈ ΠΌΠ°Π»ΠΊΠ° ΡΠ°ΡΡ ΠΎΡ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ.
- ΠΠ·Π²ΠΎΠ΄ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, ΡΡΠΊΠΎΡΠ΅Π½ΠΈ ΠΎΡ GPU: Π‘ΡΠ΅ΠΊΠΎΠ²Π΅ΡΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Python, Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° GPU Π₯ΠΎΡΡΠΈΠ½Π³ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.
- ΠΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ Ρ ΠΏΠΎΠ»ΠΈΠ³Π»ΠΎΡΠ½Π° ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ: ΠΠΊΠΎ Π²Π°ΡΠ°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ²Π΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ (Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΠΈ, Π³ΡΠ°ΡΠΎΠ²ΠΈ, Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅ΡΠΈΠΈ), MySQL-ΡΠ΅Π½ΡΡΠΈΡΠ½ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° LAMP ΡΡΠ΅ΠΊΠ° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, Π° Π½Π΅ Π² ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ.
- ΠΠ΅Π·ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΈΠ»ΠΈ edge-compute ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ: PHP ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² Π±Π΅Π·ΡΡΡΠ²ΡΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ (AWS Lambda ΡΡΠ΅Π· Bref, Cloudflare Workers ΡΡΠ΅Π· Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅), Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π» Π΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡ LAMP ΡΡΡΠ²ΡΡ.
ΠΠ°ΡΡΠΈΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ: ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π»ΠΈ Π΅ LAMP Π·Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ?
| ΠΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ | LAMP Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ | Π Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° |
|---|---|---|
| PHP-Π±Π°Π·ΠΈΡΠ°Π½ CMS (WordPress, Drupal) | ΠΠ° | ΠΠ΅ |
| Π€ΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ | ΠΠ΅ | Node.js, Go |
| RESTful API Ρ PHP ΡΠ°ΠΌΠΊΠ° | ΠΠ° | ΠΠ΅ |
| GPU/ML Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Π·Π° ΠΈΠ·Π²ΠΎΠ΄ | ΠΠ΅ | Python + GPU ΡΡΠ΅ΠΊ |
| ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ PHP 5.x/7.x | ΠΠ° | ΠΠ΅ |
| Π‘ΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΡ Π±Π΅Π· Π±Π΅ΠΊΠ΅Π½Π΄ Π»ΠΎΠ³ΠΈΠΊΠ° | ΠΠ΅ | CDN + ΡΡΠ°ΡΠΈΡΠ΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ |
| ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ (WooCommerce, Magento) | ΠΠ° | ΠΠ΅ |
| ΠΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ Ρ ΠΏΠΎΠ»ΠΈΠ³Π»ΠΎΡΠ½Π° ΠΠ | Π§Π°ΡΡΠΈΡΠ½ΠΎ | ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ |
| ΠΠ°Π»ΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π±ΡΠ΄ΠΆΠ΅Ρ | ΠΠ° | ΠΠ΅ |
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΈΠ·Π²ΠΎΠ΄ΠΈ
- MPM ΠΈ PHP-FPM Π½Π΅ ΡΠ° Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ β ΡΠ΅ ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° Apache Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°. ΠΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΎΡ `prefork`+`mod_php` ΠΊΡΠΌ `event`+`PHP-FPM` ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ ΠΊΠ°ΠΊΡΠ²ΡΠΎ ΠΈ Π΄Π° Π΅ ΡΡΠ°ΡΠΈΠΊ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ°.
- OPcache Π΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΡΠΌΠ° Π²Π°Π»ΠΈΠ΄Π½Π° ΠΏΡΠΈΡΠΈΠ½Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ PHP Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π° Π±Π΅Π· Π½Π΅Π³ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½.
- `innodb_buffer_pool_size` Π΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½Π°ΡΠ° Π½Π°ΠΉ-Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° MySQL. ΠΠ°Π΄Π°ΠΉΡΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ ΠΈ Π΄Π° Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
- MariaDB Π΅ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½Π°, ΡΠ΅ΡΡΠΎ ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π°ΡΠ° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° MySQL Π·Π° LAMP ΡΡΠ΅ΠΊΠΎΠ²Π΅. ΠΡΠ΅Π½ΡΠ²Π°ΠΉΡΠ΅ Ρ ΠΊΠ°ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ, Π° Π½Π΅ ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅.
- Π£ΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π΅ Π΅ Π·Π°Π΄Π°ΡΠ° ΡΠ»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π° LAMP ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π° Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΌΠΈΠ½ΡΡΠΈ ΡΠ»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ ΠΉ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
- ΠΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π° Π½Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡΠ° Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (OPcache, Redis, Varnish) ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΡΠ²ΠΈΡ ΡΠ΅Π΄ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
- ΠΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π°Π΄ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΡΡΠ΅Π΄Π° Π·Π° VPS Π₯ΠΎΡΡΠΈΠ½Π³ Ρ root Π΄ΠΎΡΡΡΠΏ Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° β ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈΡΡ Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ LAMP ΡΡΠ΅ΠΊ.
Π§Π΅ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ
ΠΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅ΠΊΠΎΠ²Π΅ΡΠ΅ LAMP ΠΈ LEMP?
LAMP ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Apache ΠΊΠ°ΡΠΎ ΡΠ΅Π± ΡΡΡΠ²ΡΡ, Π΄ΠΎΠΊΠ°ΡΠΎ LEMP Π·Π°ΠΌΠ΅Π½Ρ Apache Ρ Nginx. Nginx ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½Π° ΠΎΡ ΡΡΠ±ΠΈΡΠΈΡ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ ΠΈ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° ΠΏΡΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎΡΠΎ Π½Π° Apache Π΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π·ΡΡΠ»Π° ΡΠΈΡΡΠ΅ΠΌΠ° `.htaccess` ΠΈ ΠΏΠΎ-ΡΠΈΡΠΎΠΊΠ°ΡΠ° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ Π·Π° WordPress ΠΈ Π΄ΡΡΠ³ΠΈ CMS ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΡΠ°Π·ΡΠΈΡΠ°ΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
Π’ΡΡΠ±Π²Π° Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ MySQL ΠΈΠ»ΠΈ MariaDB Π² LAMP ΡΡΠ΅ΠΊ?
MariaDB Π΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° MySQL, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° MySQL. ΠΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, ΠΏΠΎ-ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° MySQL ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² Debian ΠΈ Ubuntu. ΠΠ° Π½ΠΎΠ²ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ, MariaDB Π΅ ΡΠ°Π·ΡΠΌΠ΅Π½ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ MySQL ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Ρ, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° MariaDB.
ΠΠ°ΠΊΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° PHP ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π² LAMP ΡΡΠ΅ΠΊ ΠΏΡΠ΅Π· 2025 Π³.?
PHP 8.2 ΠΈΠ»ΠΈ 8.3 ΡΠ° ΡΠ΅ΠΊΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ. PHP 8.3 Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΠΈΠΏΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΡΡΠΊΠ° Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄ 8.1 Π΅ Ρ ΠΈΠ·ΡΠ΅ΠΊΡΠ» ΠΆΠΈΠ·Π½Π΅Π½ ΡΠΈΠΊΡΠ» ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ β ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ EOL PHP Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΡΡΠ²ΡΡ Π΅ ΠΊΡΠΈΡΠΈΡΠ΅Π½ ΡΠΈΡΠΊ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°.
ΠΠΎΠ³Π° Π»ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ PHP Π²Π΅ΡΡΠΈΠΈ Π½Π° Π΅Π΄ΠΈΠ½ LAMP ΡΡΡΠ²ΡΡ?
ΠΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ PHP-FPM, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ PHP-FPM ΠΏΡΠ»ΠΎΠ²Π΅ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π²ΡΠ΅ΠΊΠΈ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠΎΠΊΠ΅Ρ ΠΈ ΡΠ°Π±ΠΎΡΠ΅Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ½Π° PHP Π²Π΅ΡΡΠΈΡ. ΠΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ Ρ ΠΎΡΡΠΎΠ²Π΅ Π½Π° Apache ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Ρ Π΄Π° ΠΏΡΠΎΠΊΡΠΈΡΠ°Ρ ΠΊΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ PHP-FPM ΡΠΎΠΊΠ΅Ρ. Π’ΠΎΠ²Π° Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π° Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° PHP Π²Π΅ΡΡΠΈΡ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ.
ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π»ΠΈ Π΅ LAMP Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²ΠΈΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊ?
ΠΠ°, ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΡΠ° ΠΎΡ PHP-FPM Ρ OPcache, Redis ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ, MySQL Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ InnoDB Π±ΡΡΠ΅ΡΠ΅Π½ ΠΏΡΠ» ΠΈ ΠΊΠ΅Ρ Π½Π° ΡΠ΅Π»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΊΠ°ΡΠΎ Varnish ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄Π΅ΡΠ΅ΡΠΊΠΈ Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ Ρ Π°ΡΠ΄ΡΠ΅Ρ. Π’Π΅ΡΠ½ΠΎΡΠΎ ΠΌΡΡΡΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ LAMP ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π½Π΅ Π΅ ΡΠ°ΠΌΠΈΡΡ ΡΡΠ΅ΠΊ, Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ β ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΡΠ»ΠΎΠ΅Π²Π΅ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅, Π½Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Apache, ΡΠ°Π±ΠΎΡΠ΅Ρ Ρ MPM `prefork`.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ