Sakin nginx 1.19.7, njs 0.5.1 da NGINX Unit 1.22.0

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, an saki njs 0.5.1, mai fassarar JavaScript don sabar gidan yanar gizo na nginx. Mai fassarar njs yana aiwatar da ƙa'idodin ECMAScript kuma yana ba ku damar faɗaɗa ikon nginx don aiwatar da buƙatun ta amfani da rubutun a cikin tsari. Ana iya amfani da rubutun a cikin fayil ɗin daidaitawa don ayyana ingantaccen dabaru don sarrafa buƙatun, samar da tsari, samar da amsa mai ƙarfi, gyara buƙatu/amsa, ko ƙirƙirar stubs 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 lura da bugawar uwar garken aikace-aikacen NGINX Unit 1.22, wanda ke ba da mafita don gudanar da aikace-aikacen yanar gizo a cikin yarukan shirye-shirye daban-daban (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js da Java). Unit NGINX na iya gudanar da aikace-aikace da yawa a lokaci guda a cikin harsunan shirye-shirye daban-daban, sigogin ƙaddamarwa waɗanda za a iya canza su da ƙarfi ba tare da buƙatar gyara fayilolin daidaitawa da sake farawa ba. An rubuta lambar a cikin C kuma an rarraba ta ƙarƙashin lasisin Apache 2.0.

Sabuwar saki na NGINX Unit ya mayar da hankali kan inganta kwanciyar hankali, faɗaɗa kayan aikin gwaji, da gyara kwari. A cikin fakitin da aka samar don Linux, an canza mai amfani da ƙungiyar da ke ƙarƙashin sashin NGINX. Maimakon ba kowa: ba kowa, yanzu ana gudanar da tsari a ƙarƙashin rukunin mai amfani ɗaya a cikin rukunin rukuni. Tabbacin dacewa tare da API na Rafi na ServerRequest da abubuwan amsawa Server daga tsarin Node.js. Zaɓin "hanyar" don aikace-aikacen Python yana ba da damar ƙayyade kundayen adireshi da yawa.

source: budenet.ru

Add a comment