Rhyddhau nginx 1.19.7, njs 0.5.1 ac Uned NGINX 1.22.0

Mae prif gangen nginx 1.19.7 wedi'i ryddhau, lle mae datblygiad nodweddion newydd yn parhau (yn y gangen sefydlog â chymorth cyfochrog 1.18, dim ond newidiadau sy'n gysylltiedig â dileu gwallau a gwendidau difrifol a wneir).

Newidiadau mawr:

  • Pan fydd proses gweithiwr yn rhedeg allan o gysylltiadau rhad ac am ddim, mae nginx bellach yn cau nid yn unig cysylltiadau cadw'n fyw, ond hefyd cysylltiadau sy'n aros i'r soced gau (“agos yn agos”).
  • Mae'r cod prosesu cysylltiad yn HTTP/2 yn agos at weithrediad HTTP/1.x. Mae cefnogaeth ar gyfer y gosodiadau unigol "http2_recv_timeout", "http2_idle_timeout" a "http2_max_requests" wedi'i derfynu o blaid y cyfarwyddebau cyffredinol "keepalive_timeout" a "keepalive_requests".
  • Mae'r gosodiadau "http2_max_field_size" a "http2_max_header_size" wedi'u tynnu a dylid defnyddio "large_client_header_buffers" yn lle hynny.

Ar yr un pryd, rhyddhawyd njs 0.5.1, cyfieithydd JavaScript ar gyfer gweinydd gwe nginx. Mae'r cyfieithydd njs yn gweithredu safonau ECMAScript ac yn caniatáu ichi ehangu gallu nginx i brosesu ceisiadau gan ddefnyddio sgriptiau yn y ffurfweddiad. Gellir defnyddio sgriptiau mewn ffeil ffurfweddu i ddiffinio rhesymeg uwch ar gyfer prosesu ceisiadau, cynhyrchu cyfluniad, cynhyrchu ymateb yn ddeinamig, addasu cais/ymateb, neu greu bonion yn gyflym i ddatrys problemau mewn cymwysiadau gwe.

Mae'r fersiwn newydd yn ychwanegu'r gyfarwyddeb “js_header_filter”, sy'n eich galluogi i osod swyddogaeth JavaScript ar gyfer hidlo a newid penawdau ymateb mympwyol: js_import foo.js; lleoliad / { js_header_filter foo.filter; dirprwy_pass http://127.0.0.1:8081/ ; } foo.js: ffwythiant hidlydd(r) { var cookies = r.headersOut['Set-Cookie']; var len = r.args.len ? Nifer(r.args.len): 0; r.headersOut['Set-Cookie'] = cwcis.filter(v=>v.length> len); } allforio {filter} rhagosodedig;

Ychwanegwyd hefyd y dull ngx.fetch(), sy'n gweithredu'r API Fetch, sy'n darparu ymarferoldeb cleient HTTP. Mae'r dull yn cefnogi prosesu opsiynau corff, penawdau, buffer_size a max_response_body_size. Mae'r gwrthrych Ymateb a ddychwelwyd yn cefnogi arrayBuffer(), bodyUsed, json(), penawdau, iawn, ailgyfeirio, statws, statwsText, testun(), math a dulliau url, ac mae'r gwrthrych Pennawd yn cefnogi get(), getAll() ac wedi () dulliau . ffwythiant nôl(r) { ngx.fetch('http://nginx.org/').then(reply => reply.text()) .then(body => r.return(200, body)).catch (e => r.return(501, e.message)); }

Gallwch hefyd nodi cyhoeddi gweinydd cais NGINX Unit 1.22, sy'n cynnig ateb ar gyfer rhedeg cymwysiadau gwe mewn amrywiol ieithoedd rhaglennu (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js a Java). Gall Uned NGINX redeg cymwysiadau lluosog ar yr un pryd mewn gwahanol ieithoedd rhaglennu, a gellir newid eu paramedrau lansio yn ddeinamig heb yr angen i olygu ffeiliau cyfluniad ac ailgychwyn. Mae'r cod wedi'i ysgrifennu yn C a'i ddosbarthu o dan drwydded Apache 2.0.

Roedd datganiad newydd Uned NGINX yn canolbwyntio ar wella sefydlogrwydd, ehangu offer profi, a thrwsio chwilod. Yn y pecynnau a gynhyrchir ar gyfer Linux, mae'r defnyddiwr a'r grŵp y mae Uned NGINX yn rhedeg oddi tanynt wedi'u newid. Yn lle neb:neb, mae prosesau bellach yn rhedeg o dan yr uned defnyddiwr unigol yn yr uned grŵp. Sicrhawyd cydnawsedd ag API Stream y gwrthrychau ServerRequest a ServerResponse o'r modiwl Node.js. Mae'r opsiwn "llwybr" ar gyfer cymwysiadau Python yn caniatáu pennu cyfeiriaduron lluosog.

Ffynhonnell: opennet.ru

Ychwanegu sylw