Випуск сервера програм NGINX Unit 1.16.0

Відбувся випуск сервера додатків NGINX Unit 1.16, в рамках якого розвивається рішення для забезпечення запуску web-додатків різними мовами програмування (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js та Java). Під керуванням NGINX Unit може одночасно виконуватися кілька програм різними мовами програмування, параметри запуску яких можна змінювати динамічно без необхідності редагування файлів конфігурації та перезапуску. Код написаний мовою Сі та поширюється під ліцензією Apache 2.0 З особливостями NGINX Unit можна познайомитись у анонсі першого випуску.

В новой версії:

  • Додана підтримка балансування навантаження у режимі 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}
    }
    }
    }

  • Реалізовано можливість завдання гнучких правил маршрутизації запитів, схожих на функціональністьtry_files» у 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.
  • Знижено споживання пам'яті рахунок скидання тіла дуже великих запитів на диск.

Джерело: opennet.ru

Додати коментар або відгук