ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅!
ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ Π‘Π΅ΡΠ³Π΅ΠΉ, ΡΠ°Π±ΠΎΡΡ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π² Π΅ΠΊΠΈΠΏΠ° Π½Π° API ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° tinkoff.ru.
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π°ΡΠ΅ Π½Π°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΏΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΡΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ΠΌ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ ΡΡΡ .
Nginx Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ ΡΠ΅ ΠΏΡΠΎΠΊΡΠΈ-ΡΡΡΠ²ΡΡ. Π’ΠΎΠΉ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ, . ΠΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Nginx (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° http/2 ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° grpc), Π° ΡΡΡΠΎ ΠΈ ΠΊΡΠΌ ΡΡΡΡΠ°Π²Π° Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
ΠΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΠ²Π΅ΠΆΠ° Π²Π΅ΡΡΠΈΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΠΏΠΎΠ΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π½Π° Linux. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° deb ΠΈ rpm. ΠΠ°ΡΠΈΠ°Π½ΡΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° Π² ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ.
ΠΡΠΊΠ°ΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΡΠΈ. Π ΡΡΠΊ Π²Π΅Π΄Π½Π°Π³Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π° Π²ΡΠΏΡΠΎΡΡΡ β ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΡΠΎΠ²Π°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ΡΡΡΡΠΈ? ΠΠΈΠ»ΠΎΡΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΎΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° ΡΠ°ΠΊΠ°, ΡΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ ΠΊΡΠ°ΠΉΠ½ΠΎ ΡΠΈΡΠ»ΠΎ Π²Ρ ΠΎΠ΄Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, Π° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π°ΡΡΠ΅ΡΠ°ΠΊΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° deb/rpm ΠΏΠ°ΠΊΠ΅Ρ Π·Π° Π½ΡΠΆΠ½Π°ΡΠ° ΠΠ‘.
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°ΠΌΠ΅ ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ:
- ΠΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΡ ΡΠ²Π΅ΠΆΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Nginx.
- ΠΡΠΌΠ° ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
- ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° ΠΈ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΡΡΠ½ΠΎ ΠΎΡΠ½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π΅ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΡΠΎΡΠΈΡΠ΅Π»Π½ΠΎ.
- ΠΡΠΌΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π΅ ΡΠ³Π»ΠΎΠ±Π΅Π½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΈΠ½ΡΡΠ°Π½Ρ Π½Π° Nginx.
ΠΠ° Π΄Π° ΡΠ΅ΡΠΈΠΌ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ΅ Π½Π°Π»Π°Π³Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ΅ΡΠΈΠΌΠΎ Π·Π° ΡΠΎΠ²Π΅ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈ ΠΈ Π΄Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π° ΠΏΠ°ΠΊΠ΅Ρ Nginx Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
ΠΠ΅ Π½Π°ΠΌΠΈΡΠ°ΠΉΠΊΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π° Π½Π°Ρ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΡΠ° Π½Π° GitHub, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ β .
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
Π Π½Π°ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ Π² Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ° ΡΠ΅Π»ΡΠ° ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π΅ΡΠ° β yaml. ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ:
nginx_version: 1.14.1
output_package: deb
modules:
- module:
name: nginx-auth-ldap
git_url: https://github.com/kvspb/nginx-auth-ldap.git
git_branch: master
dependencies:
- libldap2-dev
- module:
name: ngx_http_substitutions_filter_module
git_url: https://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
- module:
name: headers-more-nginx-module
web_url: https://github.com/openresty/headers-more-nginx-module/archive/v0.261.zip
- module:
name: nginx-module-vts
git_url: https://github.com/vozlt/nginx-module-vts.git
git_tag: v0.1.18
- module:
name: ngx_devel_kit
git_url: https://github.com/simplresty/ngx_devel_kit.git
git_tag: v0.3.0
- module:
name: ngx_cache_purge
git_url: https://github.com/FRiCKLE/ngx_cache_purge.git
- module:
name: ngx_http_dyups_module
git_url: https://github.com/yzprofile/ngx_http_dyups_module.git
- module:
name: nginx-brotli
git_url: https://github.com/eustas/ngx_brotli.git
git_tag: v0.1.2
- module:
name: nginx_upstream_check_module
git_url: https://github.com/yaoweibin/nginx_upstream_check_module.git
- module:
name: njs
git_url: https://github.com/nginx/njs.git
git_tag: 0.2.5
config_folder_path: nginx
Π’ΡΠΊ ΠΏΠΎΡΠΎΡΠ²Π°ΠΌΠ΅, ΡΠ΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ deb-ΠΏΠ°ΠΊΠ΅Ρ Ρ Π²Π΅ΡΡΠΈΡ Π½Π° Nginx 1.14.2 ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ. Π‘Π΅ΠΊΡΠΈΡΡΠ° Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½Π°. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ:
- ΠΠΌΠ΅.
- ΠΠ΄ΡΠ΅Ρ, ΠΎΡΠΊΡΠ΄Π΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½:
- Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠ°Ρ ΠΈ ΠΊΠ»ΠΎΠ½ ΠΈΠ»ΠΈ ΡΠ°Π³.
- Π£Π΅Π± Π»ΠΈΠ½ΠΊ ΠΊΡΠΌ Π°ΡΡ ΠΈΠ²Π°.
- ΠΠΎΠΊΠ°Π»Π΅Π½ Π»ΠΈΠ½ΠΊ ΠΊΡΠΌ Π°ΡΡ ΠΈΠ²Π°.
ΠΡΠΊΠΎΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° nginx-auth-ldap Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ libldap2-dev. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π°.
ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
Π Π½Π°ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΡΡΠΈΠ»ΠΈΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΎ ΡΠΎΡΡΡΠ΅Ρ. Π’ΡΠΊ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠΆΠ΄Π° docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ Π²ΡΠΈΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ (Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° docker-ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ubuntu ΠΈ centos).
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π³ΠΎΡΠΎΠ²ΠΎ, ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠΈΡ ΡΠ±ΠΎΡΡΠΈΠΊ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΌΡ:
pip3 install -r requirements.txt
./main.py build -f [ΠΊΠΎΠ½ΡΠΈΠ³_ΡΠ°ΠΉΠ»].yaml -r [Π½ΠΎΠΌΠ΅Ρ_ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ]
ΠΠΎΠΌΠ΅ΡΡΡ Π½Π° ΡΠ΅Π²ΠΈΠ·ΠΈΡΡΠ° Π΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΈ ΡΠ»ΡΠΆΠΈ Π·Π° Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ±ΠΎΡΠΊΠΈΡΠ΅. Π’ΠΎΠΉ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π² ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π»Π΅ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅.
ΠΠΎ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°. ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠΈ:
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° yaml ΡΠ°ΠΉΠ»: example.config.yaml
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - Π‘Π²Π°Π»ΡΠ½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° deb ΠΏΠ°ΠΊΠ΅Ρ
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - Π‘Π²Π°Π»ΡΠ½Π΅ Π½Π° nginx src...
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - --> http://nginx.org/download/nginx-1.14.1.tar.gz
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - Π‘Π²Π°Π»ΡΠ½Π΅ Π½Π° 3d-party ΠΌΠΎΠ΄ΡΠ»ΠΈ...
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠΎΠ΄ΡΠ»ΡΡ nginx-auth-ldap ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ²Π°Π»Π΅Π½ ΠΏΠΎ ΠΊΠ»ΠΎΠ½
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - -- ΠΠΎΡΠΎΠ²ΠΎ: nginx-auth-ldap
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - -- ΠΠΎΡΠΎΠ²ΠΎ: ngx_http_substitutions_filter_module
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠΎΠ΄ΡΠ»ΡΡ headers-more-nginx-module ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ²Π°Π»Π΅Π½
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠΎΠ΄ΡΠ»ΡΡ nginx-module-vts ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ²Π°Π»Π΅Π½ ΠΏΠΎ ΡΠ°Π³
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - -- ΠΠΎΡΠΎΠ²ΠΎ: nginx-module-vts
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠΎΠ΄ΡΠ»ΡΡ ngx_devel_kit ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ²Π°Π»Π΅Π½ ΠΏΠΎ ΡΠ°Π³
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - -- ΠΠΎΡΠΎΠ²ΠΎ: ngx_devel_kit
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - -- ΠΠΎΡΠΎΠ²ΠΎ: ngx_cache_purge
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - -- ΠΠΎΡΠΎΠ²ΠΎ: ngx_http_dyups_module
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - Π‘Π²Π°Π»ΡΠ½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° .deb ΠΏΠ°ΠΊΠ΅Ρ
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° 'dh_make'...
ΡΡΡΠΎΠΈΡΠ΅Π» - ΠΠΠ€Π - ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° 'dpkg-buildpackage'...
dpkg-deb: ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ 'nginx' Π² '..\/nginx_1.14.1-1_amd64.deb'.
Π’Π°ΠΊΠ° Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΡΠ΅Π΄Π° ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Nginx, Π° ΠΏΠ°ΠΊΠ΅ΡΡΡ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°, ΠΎΡ ΠΊΠΎΡΡΠΎ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ ΡΠΊΡΠΈΠΏΡΡΡ.
ΠΠ³ΡΠ°ΠΆΠ΄Π°Π½Π΅
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²Π³ΡΠ°Π΄ΠΈΠΌ Π½Π°ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² CI/CD ΠΏΡΠΎΡΠ΅ΡΠΈ. Π ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΡΡΠΊΠ° ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΊΡΠΌ Π΄Π½Π΅ΡΠ΅Π½ Π΄Π΅Π½ CI ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»ΠΈ .
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π² Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ°. ΠΠΎΠΌΠ΅ΡΠ° Π½Π° ΡΠ΅Π²ΠΈΠ·ΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠΈΠ²ΡΡΠ·Π²Π° ΠΊΡΠΌ Π±ΡΠΎΡ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈΡΡΠ° Π½Π° Π±ΠΈΠ»Π΄Π°.
ΠΠΎΡ
Π°Π±ΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ° Π² Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, Nexus, Artifactory ΠΈ Ρ.Π½.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΏΠ»ΡΡ Π΅, ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ yaml ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ Π² Ansible ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ Π΄Π° Π²Π·ΠΈΠΌΠ° Π½ΠΎΠΌΠ΅Ρ Π½Π° Π²Π΅ΡΡΠΈΡ ΠΈ ΡΠΈΠΏ ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π΄Π΅ΠΏΠ»ΠΎΠΈΡΠ°ΠΌΠ΅.
ΠΠ°ΠΊΠ²ΠΎ ΡΠ»Π΅Π΄Π²Π°
ΠΡΠΎΠ΅ΠΊΡΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π·Π°Π²ΡΡΡΠ΅Π½. ΠΡΠΎ Π½Π°Π΄ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°:
- Π Π°Π·ΡΠΈΡΡΠ²Π°ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅, Π½ΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π³ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΡΠΎΡΡ. ΠΠ΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠΌΠ΅ Ρ ΠΈΠ»ΡΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ°, Π°ΠΊΠΎ Π½ΠΈ ΡΡΡΠ±Π²Π°Ρ ΡΠ°ΠΌΠΎ Π΄Π²Π°, Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. Π’ΠΎΠ²Π° Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ (Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ Π²ΡΠ² Π²ΡΡΡΠ΅ΡΠ½ΠΈΡ ΡΠ°ΠΉΠ» Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ src/config.py), ΠΏΡΡΠΈΡΠ°ΡΠ° Π·Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅.
- ΠΠΎΠ±Π°Π²ΡΠΌΠ΅ ΠΎΠΏΡΠΈΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ.
- ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΡΠ²ΠΎ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΏΠ°Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π²Π΅ΡΡΠΈΡ)
- ΠΠΎΠ±Π°Π²ΡΠΌΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅:
- ΠΠ°ΠΊΠ΅ΡΡΡ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ.
- Nginx ΠΈΠΌΠ° Π½ΡΠΆΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΈ Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ»Π°Π³ΠΎΠ²Π΅ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
- Π‘ΡΠ·Π΄Π°Π²Π°Ρ ΡΠ΅ Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΡΡΠΈΡΠ°, Π°ΠΊΠ°ΡΠ½ΡΠΈ ΠΈ Ρ.Π½.
ΠΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡΠ΅ ΡΠ΅Π³Π°, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΡ β Π΄ΠΎΠ±ΡΠ΅ Π΄ΠΎΡΠ»ΠΈ!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
