Wydanie serwera aplikacji NGINX Unit 1.16.0

Zdarzyło się wydanie serwera aplikacji NGINX Unit 1.16, w ramach którego rozwija się rozwiązanie do uruchamiania aplikacji webowych w różnych językach programowania (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js i Java). Pod kontrolą NGINX Unit może jednocześnie działać kilka aplikacji w różnych językach programowania, a parametry uruchomienia można zmieniać dynamicznie bez konieczności edytowania plików konfiguracyjnych i ponownego uruchamiania. Kod jest napisany w języku C i rozpowszechniany na licencji Apache 2.0. Z cechami NGINX Unit można zapoznać się w zapowiedzi pierwszym wydaniu.

W nowej wersji:

  • Dodano wsparcie dla równoważenia obciążenia w trybie round-robin. Na przykład, aby rozłożyć obciążenie na dwa serwery 192.168.0.100 i 192.168.0.101 z kierowaniem dwóch razy większej liczby żądań na drugi, można użyć następującej konstrukcji:

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

  • Zrealizowano możliwość definiowania elastycznych reguł routingu żądań, podobnych do funkcjonalności "try_files" w nginx. Dodatkowa trasa jest definiowana za pomocą dyrektywy "fallback", która jest wywoływana, jeśli żądany plik nie został znaleziony w ścieżce określonej przez dyrektywę "share". Na przykład, aby wywołać procesor PHP, gdy plik nie istnieje w katalogu /data/www/, można określić:

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

    Dozwolone jest stosowanie zagnieżdżonych bloków "fallback". Na przykład, jeśli plik nie znajduje się w /data/www/, można spróbować wydać go z /data/cache/, a jeśli nie ma go też tam, przekierować żądanie do innego backendu:

    {
    "share": "/data/www/",

    "fallback": {
    "share": "/data/cache/",

    "fallback": {
    "proxy": "http://127.0.0.1:9000"
    }
    }
    }

  • W formacie JSON parametrów konfiguracyjnych zapewniono usunięcie komentarzy w stylu JavaScript ("//..." i "/* ... */") oraz oczyszczenie znaczników sekwencji bajtów (UTF-8 BOM), co może być przydatne w przypadku ręcznej edycji parametrów w JSON.
  • Zredukowane zużycie pamięci poprzez zrzucanie ciała bardzo dużych żądań na dysk.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster