π Nginx: ΡΡΡΡΠΊΠΈΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠΎΡΠΈΠ» ΠΏΠ»Π°Π½Π΅ΡΡ
ΠΡΠ°ΡΠΊΠΎ Nginx β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π΅Π»Π°Π»Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π±ΡΡΡΡΡΠΌ. ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡΠΊΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΎΠ½ ΠΎΠ±ΠΎΡΠ΅Π» Π³ΠΈΠ³Π°Π½ΡΠΎΠ² ΠΈ ΡΡΠ°Π» ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΡ ΡΠ°ΠΉΡΠΎΠ² ΠΌΠΈΡΠ°. ΠΡΡΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Β«Π΄Π²ΠΈΠΆΠΎΠΊ ΠΠΊΡΠ°Β» Π²ΡΡΠΎΡ ΠΈΠ· Ρ ΠΎΠ±Π±ΠΈ Π² ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π½ΡΡ ΡΠ΄Π΅Π»ΠΊΡ.
β«οΈΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°ΠΏΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ: Β· 2002β2004 Π³Π³. β ΠΠ³ΠΎΡΡ Π‘ΡΡΠΎΠ΅Π², ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Β«Π Π°ΠΌΠ±Π»Π΅ΡΠ°Β», Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΈΡΠ΅Ρ Nginx. ΠΡΠΎΠ±Π»Π΅ΠΌΠ°: Apache Π½Π΅ Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΡΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΡΠ΅Π½ΡΡ 2004 Π³ΠΎΠ΄Π° Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ· Β· 2011 Π³. β Π‘ΡΡΠΎΠ΅Π² ΡΠ²ΠΎΠ»ΡΠ½ΡΠ΅ΡΡΡ ΠΈΠ· Β«Π Π°ΠΌΠ±Π»Π΅ΡΠ°Β» ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠ°ΡΡΠ½ΡΡΠ°ΠΌΠΈ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Nginx Inc. ΠΠ½Π²Π΅ΡΡΠΎΡΡ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ $3 ΠΌΠ»Π½ Β· 2013 Π³. β ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Nginx Plus Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Β· 2019 Π³. β ΠΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π³ΠΈΠ³Π°Π½Ρ F5 Networks ΠΏΠΎΠΊΡΠΏΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π·Π° $670 ΠΌΠ»Π½. Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠΎΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠΈΡΠΎΠ²ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Β· 2025 Π³. β Nginx ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ 33.7% Π²ΡΠ΅Ρ ΡΠ°ΠΉΡΠΎΠ² Π² ΠΌΠΈΡΠ΅. Π‘ΡΠ΅Π΄ΠΈ ΡΠΎΠΏ-1000 β Π΄ΠΎΠ»Ρ Π΅ΡΡ Π²ΡΡΠ΅
β«οΈΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ ΡΠ°ΠΊΠΎΠΉ Π±ΡΡΡΡΡΠΉ): Β· Π‘ΠΎΠ±ΡΡΠΈΠΉΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° β Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Apache, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ/ΠΏΠΎΡΠΎΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Nginx ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ. ΠΠ΄ΠΈΠ½ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΡΡΡΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Β· ΠΠ΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄ β ΠΏΠΎΠΊΠ° ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ ΠΆΠ΄ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΡΠΎΡΡΠ°ΠΈΠ²Π°Π΅Ρ, Π° Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ Β· ΠΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ β 10 000 Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΡ keep-alive ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΡΡΠ΅Π΄Π°ΡΡ Π²ΡΠ΅Π³ΠΎ ~2.5 ΠΠ ΠΏΠ°ΠΌΡΡΠΈ
β«οΈΠΠ»ΡΡΠ΅Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ: Β· ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ β ΠΌΠΎΠ»Π½ΠΈΠ΅Π½ΠΎΡΠ½Π°Ρ ΠΎΡΠ΄Π°ΡΠ° ΡΡΠ°ΡΠΈΠΊΠΈ (HTML, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π²ΠΈΠ΄Π΅ΠΎ) Β· ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ β ΠΏΡΠΈΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅Π±ΡΠΎΡ ΠΈΡ Π½Π° Π±ΡΠΊΠ΅Π½Π΄ (Python, PHP, Ruby) Β· ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ β ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Β· ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Β· SSL/TLS ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΈΡ β ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Β· ΠΠΎΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ β Π΄Π»Ρ IMAP/POP3/SMTP
β«οΈΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ» Apache: Β· Apache β ΠΏΡΠΎΡΠ΅ΡΡ Π½Π° Π·Π°ΠΏΡΠΎΡ. ΠΡΠΈ 10 000 ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ β 10 000 ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΏΠ°ΠΌΡΡΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠ°Π΄Π°Π΅Ρ Β· Nginx β Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π° Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ. ΠΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π΅ΡΡΡΠΊΠΈ ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π½Π° ΡΠΊΡΠΎΠΌΠ½ΠΎΠΌ Β«ΠΆΠ΅Π»Π΅Π·Π΅Β»
β«οΈΠΡΠ»ΡΡΡΡΠ½ΡΠΉ ΡΠ΅Π½ΠΎΠΌΠ΅Π½:
Β· ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ IT-ΠΏΡΠΎΠ΄ΡΠΊΡ, ΡΡΠ°Π²ΡΠΈΠΉ ΠΌΠΈΡΠΎΠ²ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
Β· ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Open Source: Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π±Π°Π·Π° + ΠΌΠΎΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ
Β· Π‘ΠΈΠΌΠ²ΠΎΠ» Β«ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² Π ΠΎΡΡΠΈΠΈΒ» Π±Π΅Π· ΠΏΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° β ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡ
Β· ΠΠ° Π½ΡΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ: Netflix, Facebook (Meta), Instagram, ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π―Π½Π΄Π΅ΠΊΡ, Mail.ru, Intel, Dropbox, WordPress.com
β«οΈΠ‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Β· ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΠΉ Π»ΠΈΠ΄Π΅Ρ ΡΡΠ΅Π΄ΠΈ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Β· ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Π² Kubernetes (Ingress-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ), Docker (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²) Β· ΠΠΈΠ²ΡΡ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ ΠΊΡΡΠ»ΠΎΠΌ F5, ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ Β· ΠΠ° ΡΠΌΠ΅Π½Ρ ΠΈΠ΄ΡΡ HTTP/3 ΠΈ QUIC, ΠΊΠΎΡΠΎΡΡΠ΅ Nginx ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ
#nginx #Π²Π΅Π±ΡΠ΅ΡΠ²Π΅Ρ #ΠΈΡΡΠΎΡΠΈΡ #ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ #ΡΠΎΡΡΠΈΠΉΡΠΊΠ°ΡΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° #opensource