แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— แƒฉแƒ•แƒ”แƒœแƒก Nginx-แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—

Hi!
แƒ›แƒ” แƒ›แƒฅแƒ•แƒ˜แƒ แƒกแƒ”แƒ แƒ’แƒ”แƒ˜, แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒแƒ“ Tinkoff.ru แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก API แƒ’แƒฃแƒœแƒ“แƒจแƒ˜.

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘ แƒ˜แƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒช แƒฉแƒ•แƒ”แƒœแƒก แƒ’แƒฃแƒœแƒ“แƒก แƒจแƒ”แƒ”แƒฅแƒ›แƒœแƒ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒœแƒ˜แƒœแƒ˜แƒฅแƒกแƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ” แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ— แƒ˜แƒ› แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ›แƒแƒ›แƒชแƒ แƒ›แƒแƒ—แƒ˜ แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒซแƒšแƒ”แƒ•แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ.

Nginx แƒแƒ แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒฃแƒ แƒ˜ แƒ“แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒžแƒ แƒแƒฅแƒกแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜. แƒ›แƒแƒก แƒแƒฅแƒ•แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒแƒฌแƒ”แƒกแƒ”แƒ‘แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒแƒ‘แƒแƒ–แƒ” แƒ“แƒ Nginx-แƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ” (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, http/2 แƒ“แƒ grpc แƒžแƒ แƒแƒฅแƒกแƒ˜แƒ˜แƒœแƒ’แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ) แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒšแƒแƒ‘แƒ.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒกแƒฃแƒ แƒก แƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก Linux-แƒ˜แƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก deb- แƒ“แƒ rpm-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒแƒ  แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ. แƒ“แƒ แƒแƒฅ แƒ›แƒแƒจแƒ˜แƒœแƒ•แƒ” แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ: แƒ แƒแƒ’แƒแƒ  แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒแƒ— แƒแƒ›แƒแƒก แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ แƒฏแƒ•แƒ˜แƒกแƒแƒก? แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒกแƒ แƒฃแƒšแƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ–แƒ” แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ OS-แƒกแƒ—แƒ•แƒ˜แƒก deb/rpm แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—.

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒ›แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ“แƒ”แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜:

  • แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ Nginx-แƒ˜แƒก แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ—.
  • แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—.
  • แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒฎแƒ”แƒšแƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ แƒ“แƒ แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ แƒแƒ›แƒแƒขแƒ”แƒ•แƒแƒ“แƒ˜ แƒ“แƒ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ“แƒแƒ›แƒฆแƒšแƒ”แƒšแƒ˜แƒ.
  • แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜ Nginx-แƒ˜แƒก แƒ”แƒกแƒ แƒ—แƒฃ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ.

แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒแƒ˜แƒฆแƒ”แƒ‘แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ“แƒ˜ แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜ แƒ“แƒ แƒแƒแƒฌแƒงแƒแƒ‘แƒก Nginx แƒžแƒแƒ™แƒ”แƒขแƒก แƒ›แƒแƒกแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—.

แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒœแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ Github-แƒ˜แƒก แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ  แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ - nginx-แƒ›แƒจแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜.

แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜

แƒฉแƒ•แƒ”แƒœแƒก แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒจแƒ˜ แƒ’แƒ•แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก 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 [ะฝะพะผะตั€_ั€ะตะฒะธะทะธะธ]

แƒแƒฅ แƒ’แƒแƒ“แƒแƒกแƒ˜แƒœแƒฏแƒ•แƒ˜แƒก แƒœแƒแƒ›แƒ”แƒ แƒ˜ แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒ—แƒ˜แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ›แƒ”แƒขแƒ-แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒจแƒ˜, แƒ แƒแƒช แƒแƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒก.
แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒ— แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ. แƒแƒฅ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒžแƒฃแƒœแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜:

builder - INFO - Parse yaml file: example.config.yaml
builder - INFO - Download scripts for build deb package
builder - INFO - Downloading nginx src...
builder - INFO - --> http://nginx.org/download/nginx-1.14.1.tar.gz
builder - INFO - Downloading 3d-party modules...
builder - INFO - Module nginx-auth-ldap will download by branch
builder - INFO - -- Done: nginx-auth-ldap
builder - INFO - -- Done: ngx_http_substitutions_filter_module
builder - INFO - Module headers-more-nginx-module will downloading
builder - INFO - Module nginx-module-vts will download by tag
builder - INFO - -- Done: nginx-module-vts
builder - INFO - Module ngx_devel_kit will download by tag
builder - INFO - -- Done: ngx_devel_kit
builder - INFO - -- Done: ngx_cache_purge
builder - INFO - -- Done: ngx_http_dyups_module
builder - INFO - Downloading dependencies
builder - INFO - Building .deb package
builder - INFO - Running 'dh_make'...
builder - INFO - Running 'dpkg-buildpackage'...
dpkg-deb: building package 'nginx' in '../nginx_1.14.1-1_amd64.deb'.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒ“แƒ แƒกแƒแƒญแƒ˜แƒ แƒ Nginx แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒแƒก แƒ“แƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜, แƒกแƒแƒ˜แƒ“แƒแƒœแƒแƒช แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒฎแƒ“แƒ”แƒ‘แƒ.

แƒฉแƒแƒœแƒ”แƒ แƒ’แƒ•แƒ

แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒ CI/CD แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒจแƒ˜. แƒ“แƒฆแƒ”แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ CI แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒ“แƒแƒœ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒ”แƒฎแƒ›แƒแƒ แƒแƒก แƒแƒ›แƒแƒจแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒ’แƒฃแƒœแƒ“แƒฃแƒ แƒ˜ แƒฅแƒแƒšแƒแƒฅแƒ˜ แƒแƒœ Gitlab CI.

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒชแƒ แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ Git แƒกแƒแƒชแƒแƒ•แƒจแƒ˜, แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜แƒก แƒ™แƒแƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ. แƒ แƒ”แƒ•แƒ˜แƒ–แƒ˜แƒ˜แƒก แƒœแƒแƒ›แƒ”แƒ แƒ˜ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ build-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ—แƒแƒœ.
แƒชแƒแƒขแƒ แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ แƒแƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜, แƒ แƒแƒ› แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒจแƒ˜, Nexus, Artifactory แƒ“แƒ แƒ.แƒจ.

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› yaml แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒก Ansible-แƒก แƒแƒœ แƒกแƒฎแƒ•แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ  แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒ“แƒ แƒ˜แƒฅแƒ˜แƒ“แƒแƒœ แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒœแƒแƒ›แƒ”แƒ แƒ˜ แƒ“แƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒช แƒ’แƒ•แƒ˜แƒœแƒ“แƒ.

แƒ แƒ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜

แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒฏแƒ”แƒ  แƒแƒ  แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ. แƒแƒ˜ แƒ แƒแƒ–แƒ” แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ— แƒแƒฎแƒšแƒ:

  • แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ•แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ— แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒกแƒฃแƒ แƒ— แƒแƒ—แƒแƒกแƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ, แƒ—แƒฃ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ แƒ˜ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—, แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜ แƒ™แƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒฏแƒ“แƒ”แƒ‘แƒ. แƒ”แƒก แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒก (แƒแƒฎแƒšแƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ˜แƒ“แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜ src/config.py), แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒ–แƒ แƒ“แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜.
  • แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒ”แƒ‘แƒจแƒ˜.
  • แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒกแƒแƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“ github.com/nginx-modules/nginx_upstream_check_module แƒ—แƒฅแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒžแƒแƒขแƒฉแƒ˜)
  • แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ:
    • แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒกแƒฌแƒแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜.
    • Nginx-แƒก แƒแƒฅแƒ•แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ“แƒ แƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒ แƒแƒจแƒ”แƒ‘แƒ˜แƒ—แƒ แƒ“แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—.
    • แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜, แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ.แƒจ.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ”แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒฎแƒšแƒ แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ›แƒแƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ— แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ - github.com/TinkoffCreditSystems/Nginx-builder แƒ›แƒแƒ’แƒ”แƒกแƒแƒšแƒ›แƒ”แƒ‘แƒ˜แƒ—!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ