Выпуск сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ NGINX Unit 1.17.0

Бостоялся выпуск сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ NGINX Unit 1.17, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ развиваСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для обСспСчСния запуска web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ΠΈ Java). Под ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ NGINX Unit ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запуска ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ динамичСски Π±Π΅Π· нСобходимости ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ пСрСзапуска. Код написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Π‘ особСнностями NGINX Unit ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π² анонсС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ выпуска.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Β«returnΒ» ΠΈ Β«locationΒ» Π² Π±Π»ΠΎΠΊΠ°Ρ… Β«actionΒ» для Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ возвращСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ»ΠΈ пСрСнаправлСния Π½Π° внСшний рСсурс. НапримСр, для Π·Π°ΠΏΡ€Π΅Ρ‚Π° доступа ΠΊ URI, ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ маску Β«*/.git/*Β», ΠΈΠ»ΠΈ пСрСнаправлСния Π½Π° хост с www ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки:

    {
    Β«matchΒ»: {
    Β«uriΒ»: Β«*/.git/*Β»
    },

    Β«actionΒ»: {
    Β«returnΒ»: 403
    }
    }

    {
    Β«matchΒ»: {
    Β«hostΒ»: Β«example.orgΒ»,
    },

    Β«actionΒ»: {
    Β«returnΒ»: 301,
    Β«locationΒ»: Β«https://www.example.orgΒ»
    }
    }

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ вСса сСрвСров Π² Π±Π»ΠΎΠΊΠ°Ρ… Β«upstreamΒ«. НапримСр, ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ вСсами, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° 192.168.0.103 Π² Π΄Π²Π° Ρ€Π°Π·Π° мСньшСго числа запросов, Ρ‡Π΅ΠΌ для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…:

    {
    Β«192.168.0.101:8080Β»: {
    Β«weightΒ»: 2
    },
    Β«192.168.0.102:8080Β»: {
    Β«weightΒ»: 2
    },
    Β«192.168.0.103:8080Β»: { },
    Β«192.168.0.104:8080Β»: {
    Β«weightΒ»: 2
    }
    }

    Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΊ Π±ΠΎΠ»Π΅Π΅ простой ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅:

    {
    Β«192.168.0.101:8080Β»: { },
    Β«192.168.0.102:8080Β»: { },
    Β«192.168.0.103:8080Β»: {
    Β«weightΒ»: 0.5
    },
    Β«192.168.0.104:8080Β»: { }
    }

  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со сборкой Π² DragonFly BSD;
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ошибка, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠ°Ρ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΊΠΎΠ΄Π° 502 Β«Bad GatewayΒ» ΠΏΡ€ΠΈ высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅;
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ΡƒΡ‚Π΅Ρ‡ΠΊΠ° памяти Π² router, ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ начиная с выпуска 1.13.0;
  • УстранСны нСсовмСстимости с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ прилоТСниями Node.js.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ