เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบเบญเบš Nginx เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ”เป‰เบงเบเบชเบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡

Hello!
เบ‚เป‰เบญเบเบŠเบทเปˆ Sergey, เบ‚เป‰เบญเบเป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™เบงเบดเบชเบฐเบงเบฐเบเบญเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปƒเบ™เบ—เบตเบก API เบ‚เบญเบ‡เป€เบงเบ—เบต tinkoff.ru.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเป€เบŠเบตเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบเบฐเบเบฝเบกเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Nginx เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ•เปˆเบฒเบ‡เป†. เบ‚เป‰เบญเบเบเบฑเบ‡เบˆเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบŠเบฐเบ™เบฐเบžเบงเบเบกเบฑเบ™เป„เบ”เป‰.

Nginx เป€เบ›เบฑเบ™โ€‹เป€เบŠเบตเบšโ€‹เป€เบงเบตโ€‹เบžเบฃเบฑเบญเบเบŠเบตโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบซเบผเบฒเบโ€‹เบ›เบฐโ€‹เบชเบดเบ”โ€‹เบ—เบดโ€‹เบžเบฒเบš เปเบฅเบฐโ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบขเปˆเบฒเบ‡โ€‹เบซเป‰เบฒเบงโ€‹เบซเบฑเบ™. เบกเบฑเบ™โ€‹เบกเบตโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เป‚เบกโ€‹เบ”เบนเบ™โ€‹, เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ„เบปเบšเบ–เป‰เบงเบ™. เปเบ•เปˆเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ balancer เปเบฅเบฐเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ Nginx (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบกเบต http/2 เปเบฅเบฐ grpc proxying), เปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ‚เบญเบ‡เบ•เบปเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบขเบฒเบเบˆเบฐเป€เบซเบฑเบ™เบฅเบธเป‰เบ™เปƒเปเปˆเบ—เบตเปˆเบกเบตเบŠเบธเบ”เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, เป€เบฎเบฑเบ”เบงเบฝเบเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เปเบˆเบเบขเบฒเบ Linux เบชเบฐเป€เบžเบฒเบฐ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฐเบšเบปเบš deb- เปเบฅเบฐ rpm-based. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบกเบตเบšเบฑเบ™เบˆเบธเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰.

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ. เปเบฅเบฐเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ„เปเบฒเบ–เบฒเบกเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบ—เบฑเบ™เบ—เบต: เบงเบดเบ—เบตเบเบฒเบ™เบšเบฑเบ™เบฅเบธเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ™เบตเป‰เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบ™เป‰เบญเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰? เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบเบฑเบ”, เปเบฅเบฐเปƒเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบชเบดเปˆเบ‡เบ›เบฐเบ”เบดเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบŠเบธเบ” deb / rpm เบชเปเบฒเบฅเบฑเบš OS เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบšเบฑเบ™เบซเบฒเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™:

  • เบšเปเปˆเบกเบตเปเบžเบฑเบเป€เบเบ”เบ—เบตเปˆเบกเบต Nginx เบฅเบธเป‰เบ™เบฅเป‰เบฒเบชเบธเบ”เบชเบฐเป€เปเบตเป„เบ›.
  • เบšเปเปˆเบกเบตเบŠเบธเบ”เบ—เบตเปˆเบกเบตเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.
  • เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบชเป‰เบฒเบ‡เบŠเบธเบ”เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เปเบกเปˆเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเปเบฅเบฐเบซเบ™เป‰เบฒเป€เบšเบทเปˆเบญเปเบ—เป‰เป†.
  • เบšเปเปˆเบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบซเบผเบทเบงเปˆเบฒ Nginx instance เบ–เบทเบเบ›เบฐเบเบญเบš.

เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบกเบฐเบ™เบธเบ”เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เปเบฅเบฐเบ›เบฐเบเบญเบšเบŠเบธเบ” Nginx เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบกเบฑเบ™.

เบšเปเปˆเป„เบ”เป‰เบŠเบญเบเบซเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบเบงเป‰เบฒเบ‡เปƒเบซเบเปˆเบ‚เบญเบ‡ Github, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡ - nginx-builder.

ะกะฟะตั†ะธั„ะธะบะฐั†ะธะธ

เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบฒเบกเบฒเบ”เปƒเบชเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ 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 repository. เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบชเบฒเบ‚เบฒเบซเบผเบทเปเบ—เบฑเบเป„เบ”เป‰.
    • เบˆเบฑเบ”เป€เบเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบงเบฑเบš.
    • เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป„เบ›เบซเบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™.

เบšเบฒเบ‡เป‚เบกเบ”เบนเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบ•เบปเบงเบขเปˆเบฒเบ‡ nginx-auth-ldap เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ libldap2-dev. เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป‚เบกเบ”เบนเบ™.

เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก

เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบกเบตเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก, เบเบฒเบ™เบ›เบฐเบเบญเบšเบŠเบธเบ”เปเบฅเบฐเบŠเบญเบšเปเบงเบŠเปˆเบงเบเบญเบทเปˆเบ™เป†. เบ•เบนเป‰เบšเบฑเบ™เบˆเบธ Docker เบ—เบตเปˆเบกเบตเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ (เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบกเบตเบชเบญเบ‡เบชเบฒเบกเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เป„เบŸเบฅเปŒ Docker เบชเปเบฒเบฅเบฑเบš ubuntu เปเบฅเบฐ centos).

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบญเบญเบเปเบšเบšเบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบก, เบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เบ•เบปเบง builder เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เป‚เบ”เบเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ‚เบญเบ‡เบกเบฑเบ™เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰:

pip3 install -r requirements.txt
./main.py build -f [ะบะพะฝั„ะธะณ_ั„ะฐะนะป].yaml -r [ะฝะพะผะตั€_ั€ะตะฒะธะทะธะธ]

เปเบฒเบเป€เบฅเบเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ เปเบฅเบฐเบ–เบทเบเปƒเบŠเป‰เบชเบณเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบšเป€เบงเบตเบŠเบฑเบ™. เบกเบฑเบ™เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เบ‚เปเป‰เบกเบนเบ™ meta เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.
เบˆเบฒเบเบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบˆเบธเบ”เบ•เบปเป‰เบ™เบ•เป:

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, เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบ›เบญเบกเบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เปเบฒเบเป€เบฅเบเบเบฒเบ™เปเบเป‰เป„เบ‚เปเบกเปˆเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ•เบปเบงเบ™เบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบญเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡.
เบ”เป‰เบงเบเป€เบงเบฅเบฒเบญเบตเบเปœเป‰เบญเบเปœเบถเปˆเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบ‚เบญเบ‡เบ›เบญเบกเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบŠเบธเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, Nexus, Artifactory, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบ›เบฐเป‚เบซเบเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบกเปˆเบ™เบงเปˆเบฒเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ yaml เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Ansible เบซเบผเบทเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบญเบทเปˆเบ™, เปเบฅเบฐเบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบˆเปเบฒเบ™เบงเบ™เบฎเบธเปˆเบ™เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบŠเบธเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ™เปเบฒเป„เบ›เปƒเบŠเป‰.

เบกเบตเบซเบเบฑเบ‡เบ•เปเปˆเป„เบ›

เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบชเปเบฒเป€เบฅเบฑเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบ•เบญเบ™เบ™เบตเป‰:

  • เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฐเบซเบเบฒเบเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบฎเบฑเบเบชเบฒเบกเบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบžเบฑเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบญเบ‡เบญเบฑเบ™, เปเบฅเบฐเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ™เบตเป‰เบ›เบฐเบเบญเบšเบกเบตเบ—เบธเบ‡เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก (เบ•เบญเบ™เบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบžเบงเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบžเบฒเบเปƒเบ™ src/config.py), เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เปเบฅเบฐเป€เบ›เบตเบ”เบ•เบปเบงเบœเบนเป‰เปƒเบŠเป‰.
  • เบžเบงเบเป€เบฎเบปเบฒเบเบณเบฅเบฑเบ‡เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบณเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบŠเบธเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป„เบ›เบซเบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เบญเบ‡เบ›เบญเบกเบ•เปˆเบฒเบ‡เป†.
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป‚เบซเบฅเบ”เป‚เบกเบ”เบนเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ github.com/nginx-modules/nginx_upstream_check_module เบเปˆเบญเบ™โ€‹เบญเบทเปˆเบ™โ€‹เบซเบกเบปเบ”โ€‹เบ—เปˆเบฒเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ patch เบ‚เบญเบ‡โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹)
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš:
    • เบŠเบธเบ”เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.
    • Nginx เบกเบตเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบฅเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบ—เบธเบ‡เปเบฅเบฐเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.
    • เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เบšเบฑเบ™เบŠเบต, เปเบฅเบฐเบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™.

เปเบ•เปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบตเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เปเบฅเบฐเบเบฑเบ‡เปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ - github.com/TinkoffCreditSystems/Nginx-builder เบชเบฐเบšเบฒเบเบ”เบต!

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™