ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ , Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ΠΈ Java). ΠΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ NGINX Unit ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°. ΠΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Π‘ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ NGINX Unit ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ°.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΠΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ Π°Π΄ΡΠ΅ΡΠ°ΠΌ ΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ ΠΏΠΎΡΠΎΠ² ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π³ΡΡΠΏΠΏΡ Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Unit Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- ΠΠΌΡ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Go ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° Β«unit.nginx.org/goΒ» (Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Unit ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«go get unit.nginx.org/goΒ»).
- ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π° Go ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ libunit.
- Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠ΅Π½Ρ ΠΊΡΡΠΏΠ½ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ².
- ΠΠ±Π½ΠΎΠ²Π»ΡΠ½ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Docker, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π±ΡΡΡΡΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ NGINX Unit. ΠΠ°ΡΠΈΠ½ΠΊΠ° ΠΎΠ±ΡΠ°Π·Π° ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Ρ Debian 9 Π½Π° Debian 10;
- Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄Π»Ρ CentOS ΠΈ RHEL 7 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ Π΄Π»Ρ
Python 3.6. ΠΠ»Ρ Amazon Linux 2 LTS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ Python 3.7. ΠΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ Python 2.7 ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ Ρ Β«unit-pythonΒ» Π² Β«unit-python27Β».
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ , Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ (Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ 1.16 Π²Π½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ). Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΡΠ°Π½Π΅Π½Ρ ΠΊΡΠ°Ρ ΠΈ, ΠΏΡΠΎΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΡΡΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ Β«rewriteΒ» ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Β«breakΒ» Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ Β«aliasΒ» ΠΈΠ»ΠΈ Β«proxy_passΒ» Ρ URI. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Β«LocationΒ» ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π² ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Ρ Π½ΡΠ»Π΅Π²ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ HTTP/2 ΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ΅ΡΠΊΠ° ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ². ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡΠ°Ρ ΠΊ ΠΎΠ±ΡΡΠ²Ρ SSL-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ pipelined-Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
