Wydanie serwera aplikacji NGINX Unit 1.16.0

Odbyła się wydanie serwera aplikacji Jednostka NGINX 1.16, w ramach którego opracowywane jest rozwiązanie zapewniające uruchomienie aplikacji webowych w różnych językach programowania (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js i Java). Jednostka NGINX może jednocześnie uruchamiać wiele aplikacji w różnych językach programowania, których parametry uruchamiania można zmieniać dynamicznie, bez konieczności edycji plików konfiguracyjnych i restartu. Kod jest napisany w C i dystrybuowane przez licencjonowany w ramach Apache 2.0. Możesz zapoznać się z funkcjami jednostki NGINX w zapowiedź pierwsza sprawa.

W nowej wersji:

  • Dodany obsługa równoważenia obciążenia w trybie okrężnym. Na przykład, aby rozłożyć obciążenie na dwa serwery 192.168.0.100 i 192.168.0.101 i wysłać dwa razy więcej żądań do drugiego serwera, możesz zastosować następującą konstrukcję:

    „upstream”: {
    "rr-lb": {
    "serwery": {
    "192.168.0.100:8080": { },
    „192.168.0.101:8080”: { „waga”: 2 }
    }
    }
    }

  • Wdrożone możliwość ustawienia elastycznych reguł routingu żądań zbliżona do funkcjonalności „pliki_wypróbuj„w nginxie. Dodatkowa trasa jest określana za pomocą dyrektywy „fallback”, która jest uruchamiana, jeśli żądany plik nie zostanie znaleziony w ścieżce określonej przez dyrektywę „share”. Na przykład, aby wywołać procedurę obsługi PHP, jeśli w katalogu /data/www/ nie ma pliku, możesz określić:

    {
    "udostępnij": "/dane/www/",
    „rezerwa”: {
    "pass": "aplikacje/php"
    }
    }

    Dozwolone jest stosowanie zagnieżdżonych bloków „awaryjnych”. Na przykład, jeśli pliku nie ma w /data/www/, możesz spróbować pobrać go z /data/cache/, a jeśli tam też go nie ma, przekierować żądanie do innego backendu:

    {
    "udostępnij": "/dane/www/",

    „rezerwa”: {
    "udostępnij": "/dane/pamięć podręczna/",

    „rezerwa”: {
    „proxy”: „http://127.0.0.1:9000”
    }
    }
    }

  • Parametry konfiguracyjne załadowane w formacie JSON umożliwiają usunięcie komentarzy w stylu JavaScript („//…” i „/* … */”) oraz wyczyszczenie znaczników sekwencji bajtów (BOM UTF-8), co może być przydatne w przypadku ręcznej edycji parametrów w formacie JSON.
  • Zmniejszone zużycie pamięci poprzez opróżnianie treści bardzo dużych żądań na dysk.

Źródło: opennet.ru

Dodaj komentarz