Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ LAMP Stack? ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅
Π‘ΡΠ΅ΠΊ LAMP β ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Linux (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°), Apache (Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ), MySQL (ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ) ΠΈ PHP (ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²). ΠΠΌΠ΅ΡΡΠ΅ ΡΡΠΈ ΡΠ΅ΡΡΡΠ΅ ΡΡΠΎΠ²Π½Ρ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ.
ΠΠ»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π²Π΅Π±-Ρ ΠΎΡΡΠΈΠ½Π³Π°, LAMP ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΡΡΠ΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ: ΠΎΠ½ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π±ΠΎΠ»Π΅Π΅ 30% Π²ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΉ Π² ΠΌΠΈΡΠ΅, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΊΠ°ΠΊ WordPress, Drupal ΠΈ Magento, ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΡΡ PHP-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° β Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² β ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΎΡ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠΉ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Π§Π΅ΡΡΡΠ΅ ΡΡΠΎΠ²Π½Ρ ΡΡΠ΅ΠΊΠ° LAMP: ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ
Linux: Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
Linux β ΡΡΠΎ ΡΠ΄ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΠ΅Π΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ LAMP. ΠΠ³ΠΎ ΡΠΎΠ»Ρ Π½Π΅ ΠΏΠ°ΡΡΠΈΠ²Π½Π°: Linux ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΉ 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 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΡΡΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ LAMP Π² ΡΡΠ΅Π΄Π΅ VPS Π₯ΠΎΡΡΠΈΠ½Π³Π° Π²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ root-Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΡΠ΅Π΄Ρ.
Apache: ΡΡΠΎΠ²Π΅Π½Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°
Apache HTTP Server (httpd) β ΡΡΠΎ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ½ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ TCP-ΠΏΠΎΡΡΡ 80 ΠΈ 443, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ HTTP/HTTPS-Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ Π΄ΠΈΡΠΊΠ°, Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ PHP.
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΡΠΏΡΡΠΊΠ°ΡΡ:
- ΠΡΠ±ΠΎΡ MPM (ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ) β ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΈ Apache. Π’ΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° β `prefork`, `worker` ΠΈ `event` β ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°:
- `prefork`: ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ `mod_php`, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ.
- `worker`: ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ. ΠΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ PHP.
- `event`: ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ keep-alive-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΉ.
- `mod_php` vs. 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 β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ (Π‘Π£ΠΠ), ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅Ρ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ 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 vs. LEMP vs. 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. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΠΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ NVMe-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΡΡ ΡΡΠΈ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
RESTful ΠΈ GraphQL API
PHP-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Laravel ΠΈ Lumen, ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ API-Π±ΡΠΊΠ΅Π½Π΄ΠΎΠ². API-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ LAMP, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ 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 ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ Π³ΠΎΡΠΎΠ²Π° ΠΊ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Ρ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΡΠΈΠ»Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ:
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
- ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ Π²Ρ ΠΎΠ΄ ΠΏΠΎ SSH ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ root; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»ΡΡΠ΅ΠΉ
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ `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 ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π½Π΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ.
- ΠΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ·Π»Π°Ρ : PHP ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π±Π΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ (AWS Lambda ΡΠ΅ΡΠ΅Π· Bref, Cloudflare Workers ΡΠ΅ΡΠ΅Π· ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ), Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° LAMP.
ΠΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈ LAMP Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°?
| Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ | LAMP ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ | Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ |
|---|---|---|
| CMS Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ PHP (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 Π΄ΠΎΡΡΠΈΠ³Π»Π° ΠΊΠΎΠ½ΡΠ° ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ°ΡΡΠ΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ β Π·Π°ΠΏΡΡΠΊ Π²Π΅ΡΡΠΈΠΉ PHP Ρ ΠΈΡΡΡΠΊΡΠΈΠΌ ΡΡΠΎΠΊΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΈΡΠΊΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ PHP Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ LAMP?
ΠΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ PHP-FPM, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ»ΠΎΠ² PHP-FPM, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΠΊΠ΅ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ ΡΠ°Π·Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ PHP. ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ Ρ ΠΎΡΡΡ Apache Π·Π°ΡΠ΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠΎΠΊΠ΅ΡΡ PHP-FPM. ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΊ Π²Π΅ΡΡΠΈΠΈ PHP Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈ LAMP Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
ΠΠ°, ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅. ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ PHP-FPM Ρ OPcache, ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Redis, MySQL Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π±ΡΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠ»ΠΎΠΌ InnoDB ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Varnish, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ. Π£Π·ΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΉ LAMP ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ°ΠΌ ΡΡΠ΅ΠΊ, Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ β Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ Apache, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ MPM `prefork`.
Π½Π° Π²ΡΠ΅Ρ
Ρ
ΠΎΡΡΠΈΠ½Π³ΠΎΠ²ΡΡ
ΡΡΠ»ΡΠ³Π°Ρ