Iyunithi ye-NGINX 1.16.0 Ukukhutshwa kweseva yeSicelo

yathatha indawo ukukhutshwa kweseva yesicelo Iyunithi ye-NGINX 1.16, apho isisombululo siphuhliswayo ukuqinisekisa ukuqaliswa kwezicelo zewebhu kwiilwimi ezahlukeneyo zeprogram (Python, PHP, Perl, Ruby, Go, JavaScript / Node.js kunye neJava). Iyunithi ye-NGINX inokuqhuba ngexesha elinye izicelo ezininzi kwiilwimi ezahlukeneyo zokucwangcisa, iiparamitha zokuqalisa ezinokuthi zitshintshwe ngokukhawuleza ngaphandle kwesidingo sokuhlela iifayile zokucwangcisa kunye nokuqalisa kwakhona. Ikhowudi ibhalwe kwi-C kunye isasazwa ngu ilayisenisi phantsi kweApache 2.0. Unokuqhelana neempawu zeYunithi ye-NGINX kwi isaziso umboniso wokuqala.

Kwinguqulelo entsha:

  • Yongeziwe поддержка балансировки нагрузки в режиме round-robin. Например, для распределения нагрузки на два сервера 192.168.0.100 и 192.168.0.101 с направлением на второй в два раза больше запросов можно использовать следующую конструкцию:

    «upstreams»: {
    «rr-lb»: {
    «servers»: {
    "192.168.0.100:8080": {},
    «192.168.0.101:8080»: { «weight»: 2 }
    }
    }
    }

  • Iphunyeziwe возможность задания гибких правил маршрутизации запросов, похожих на функциональность «zama_iifayile» в nginx. Дополнительный маршрут задаётся при помощи директивы «fallback», которая срабатывает, если запрошенный файл не найден в пути, определённом через директиву «share». Например, для того чтобы вызвать обработчик на PHP в случае отсутствия файла в каталоге /data/www/ можно указать:

    {
    «share»: «/data/www/»,
    «fallback»: {
    «pass»: «applications/php»
    }
    }

    Допускается использование вложенных блоков «fallback». Например, если файла нет в /data/www/, можно попытаться выдать его из /data/cache/, а если нет и там, перенаправить запрос на другой бэкенд:

    {
    «share»: «/data/www/»,

    «fallback»: {
    «share»: «/data/cache/»,

    «fallback»: {
    «proxy»: «http://127.0.0.1:9000»
    }
    }
    }

  • В загружаемых в формате JSON параметрах конфигурации обеспечено удаление комментариев в стиле JavaScript («//…» и «/* … */») и чистка маркеров последовательности байтов (UTF-8 BOM), что может быть полезно в случае ручного редактирования параметров в JSON.
  • Снижено потребление памяти за счёт сбрасывания тела очень больших запросов на диск.

umthombo: opennet.ru

Yongeza izimvo