An saki babban reshe na nginx 1.19.7, a cikin abin da ci gaban sababbin abubuwa ke ci gaba (a cikin layi daya da aka goyan bayan reshe na 1.18, kawai canje-canjen da suka danganci kawar da kurakurai masu tsanani da lahani).
Babban canje-canje:
- Lokacin da tsarin ma'aikaci ya ƙare daga haɗin kai kyauta, nginx yanzu yana rufe ba kawai haɗin kai ba, amma har ma haɗin da ke jiran soket don rufewa ("na kusa kusa").
- Lambar sarrafa haɗin haɗi a cikin HTTP/2 yana kusa da aiwatar da HTTP/1.x. An dakatar da goyan bayan saitunan mutum ɗaya "http2_recv_timeout", "http2_idle_timeout" da "http2_max_requests" don goyon bayan umarnin gabaɗaya "keepalive_timeout" da "keepalive_requests".
- An cire saitunan "http2_max_field_size" da "http2_max_header_size" kuma yakamata a yi amfani da "large_client_header_buffers" maimakon.
A lokaci guda, njs 0.5.1, mai fassara JavaScript don uwar garken yanar gizo nginx. Mai fassara njs yana aiwatar da ƙa'idodin ECMAScript kuma yana ba ku damar faɗaɗa ikon sarrafa buƙatun nginx ta amfani da rubutun tsari. Ana iya amfani da rubutun a cikin fayil ɗin tsari don ayyana dabarun sarrafa buƙata mai zurfi, samar da tsare-tsare, samar da martani ta hanyar canzawa, gyara buƙatu/amsoshi, ko ƙirƙirar takaddun bayanai cikin sauri don warware matsaloli a cikin aikace-aikacen yanar gizo.
Sabuwar sigar tana ƙara umarnin “js_header_filter”, wanda ke ba ku damar saita aikin JavaScript don tacewa da canza taken amsa sabani: js_import foo.js; wuri / {js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js: tace aikin (r) {var cookies = r.headersOut['Set-Cookie']; var len = r.args.len ? Lamba(r.args.len): 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>tsawon tsayi> len); } fitar da tsoho {tace};
Hakanan an ƙara shine hanyar ngx.fetch(), wanda ke aiwatar da API ɗin Fetch, wanda ke ba da ayyukan abokin ciniki na HTTP. Hanyar tana tallafawa sarrafa jiki, kanun labarai, buffer_size da zaɓuɓɓukan max_response_body_size. Abun da aka dawo da martani yana goyan bayan arrayBuffer(), bodyUsed, json(), headers, ok, turawa, matsayi, matsayiText, rubutu (), nau'in da hanyoyin url, kuma Abun Header yana goyan bayan samun (), getAll() kuma yana da () hanyoyin . aiki kawo (r) {ngx.fetch ('http://nginx.org/') .sannan (amsa => reply.text()) .sannan (jiki => r.dawowa (200, jiki)) .kama (e => r.dawowa (501, e.saƙon)); }
Hakanan zaka iya yiwa littafin alama uwar garke NGINX Unit 1.22, mafita don gudanar da aikace-aikacen yanar gizo da aka rubuta a cikin harsunan shirye-shirye daban-daban (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, da Java). NGINX Unit na iya gudanar da aikace-aikace da yawa a lokaci guda da aka rubuta a cikin harsuna daban-daban, kuma ana iya canza sigogin ƙaddamar da su ta atomatik ba tare da buƙatar gyara fayilolin daidaitawa ko sake kunnawa ba. An rubuta lambar da C kuma an ba ta lasisi a ƙarƙashin lasisin Apache 2.0.
В новом выпуске NGINX Unit основное внимание было уделено повышению стабильности, расширению средств для тестирования и исправлению ошибок. В формируемых для Linux пакетах изменены пользователь и группа, под которыми запускается NGINX Unit. Вместо nobody:nobody процессы теперь выполняются под отдельным пользователем unit в группе unit. Обеспечена совместимость с API Stream объектов ServerRequest и ServerResponse из модуля Node.js. В опции «path» для Python-приложений разрешено указание нескольких каталогов.
source: budenet.ru
