āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° Nginx āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŋ

āĻ—ā§āĻ°āĻŋāĻŸāĻŋāĻ‚āĻ¸!
āĻ†āĻŽāĻžāĻ° āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻ°ā§āĻ—ā§‡āĻ‡, āĻ†āĻŽāĻŋ tinkoff.ru āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° API āĻĻāĻ˛ā§‡ āĻāĻ•āĻœāĻ¨ āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻĒā§āĻ°āĻ•ā§ŒāĻļāĻ˛ā§€ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋāĨ¤

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻžāĻ˛ā§‡āĻ¨ā§āĻ¸āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦ nginx āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§‡āĻ‡ āĻŸā§āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĻ“ āĻŦāĻ˛āĻŦ āĻ¯āĻž āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•āĻžāĻŸāĻŋāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

Nginx āĻāĻ•āĻŸāĻŋ āĻŦāĻšā§āĻŽā§āĻ–ā§€ āĻāĻŦāĻ‚ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨āĻļā§€āĻ˛ āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĨ¤ āĻāĻ¤ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨āĻ¯āĻŧ. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻžāĻ˛ā§‡āĻ¨ā§āĻ¸āĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻāĻŦāĻ‚ Nginx āĻāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°ā§‡ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, http/2 āĻāĻŦāĻ‚ grpc āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ), āĻāĻŦāĻ‚ āĻāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ—āĻ āĻ¨āĨ¤

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ—ā§āĻ˛āĻŋ deb- āĻāĻŦāĻ‚ rpm-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¸āĻš āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž āĻĻā§āĻ°ā§āĻ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻžāĻ˛ā§‡āĻ¨ā§āĻ¸āĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻļā§āĻ¨āĻŸāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ‰āĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ: āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻŽ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ? āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ āĻšāĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ OS-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ deb/rpm āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ†āĻ•āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • Nginx āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¨ā§‡āĻ‡āĨ¤
  • āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻš āĻ•ā§‹āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¨ā§‡āĻ‡āĨ¤
  • āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¯āĻŧāĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇ āĻāĻŦāĻ‚ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ°āĨ¤
  • āĻāĻ‡ āĻŦāĻž āĻ¸ā§‡āĻ‡ Nginx āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻ•ā§‹āĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ¨ā§‡āĻ‡āĨ¤

āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž āĻŽāĻžāĻ¨āĻŦ-āĻĒāĻžāĻ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻš āĻāĻ•āĻŸāĻŋ Nginx āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ—āĻŋāĻĨā§āĻŦā§‡āĻ° āĻŦāĻŋāĻļāĻžāĻ˛āĻ¤āĻžāĻ¯āĻŧ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ–ā§āĻāĻœā§‡ āĻ¨āĻž āĻĒā§‡āĻ¯āĻŧā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ - nginx-āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻž.

ĐĄĐŋĐĩŅ†Đ¸Ņ„иĐēĐ°Ņ†Đ¸Đ¸

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŸā§āĻ˛ā§‡, āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻĄ āĻ†āĻ•āĻžāĻ°ā§‡ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻž āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ°āĻžāĻ–āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸āĻŸāĻŋ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ - āĻ‡āĻ¯āĻŧāĻžāĻŽāĻ˛āĨ¤ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

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

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ¸āĻš Nginx āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 1.14.2 āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŦ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻš āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻāĻšā§āĻ›āĻŋāĻ•āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

  • āĻ¨āĻžāĻŽāĨ¤
  • āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:
    • āĻ—āĻŋāĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ–āĻž āĻŦāĻž āĻŸā§āĻ¯āĻžāĻ—āĻ“ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤
    • āĻ†āĻ°ā§āĻ•āĻžāĻ‡āĻ­ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ˛āĻŋāĻ™ā§āĻ•.
    • āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ˛āĻŋāĻ™ā§āĻ•.

āĻ•āĻŋāĻ›ā§ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ nginx-auth-ldap-āĻāĻ° āĻœāĻ¨ā§āĻ¯ libldap2-dev āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ“ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļ

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŸā§āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĄāĻ•āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻĻāĻ°ā§āĻļ (āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ¨ā§āĻŸā§‹āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡)āĨ¤

āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻāĻ•āĻžāĻ° āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻžāĻ•ā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ, āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡:

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 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨āĻ“ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻŸāĻŋāĻŽāĻ¸āĻŋāĻŸāĻŋ āĻŦāĻž āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻŋāĻ†āĻ‡.

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ—āĻŋāĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻ¯āĻ¤āĻŦāĻžāĻ° āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ, āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛ā§ āĻšāĻ¯āĻŧāĨ¤ āĻ°āĻŋāĻ­āĻŋāĻļāĻ¨ āĻ¨āĻŽā§āĻŦāĻ°āĻŸāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ˛āĻžā§āĻš āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĨ¤
āĻāĻ•āĻŸā§ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛, āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸, āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ yaml āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ Ansible āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŸāĻžāĻ‡āĻĒāĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¤āĻž āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•āĻŋ

āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻ–āĻ¨ā§‹ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨ āĻ¯āĻž āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋ āĻ¤āĻž āĻāĻ–āĻžāĻ¨ā§‡:

  • āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ¸āĻšāĻœ āĻ°āĻžāĻ–āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ• āĻšāĻžāĻœāĻžāĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¨āĻž āĻāĻŦāĻ‚ āĻŦāĻžāĻ•āĻŋāĻ—ā§āĻ˛āĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻĢāĻŋāĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ā§‡āĻļāĻ¨ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ— (āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ src/config.py āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨), āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒāĻžāĻĨ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ˛āĻžā§āĻš āĻ•āĻ°ā§āĻ¨āĨ¤
  • āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ›āĻŋāĨ¤
  • āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ github.com/nginx-modules/nginx_upstream_check_module āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻš āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡)
  • āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡:
    • āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡.
    • Nginx āĻāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ¤āĻžāĻ•āĻž āĻāĻŦāĻ‚ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤āĨ¤
    • āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻĨ, āĻšāĻŋāĻ¸āĻžāĻŦ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ–āĻ¨ āĻāĻ‡ āĻŸā§āĻ˛āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻāĻŦāĻ‚ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļāĻ“ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - github.com/TinkoffCreditSystems/Nginx-builder āĻ¸ā§āĻŦāĻžāĻ—āĻ¤āĻŽ!

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨