Ang nag-unang sanga sa nginx 1.19.7 gipagawas, diin ang pag-uswag sa mga bag-ong bahin nagpadayon (sa parallel nga suportado nga lig-on nga sanga 1.18, ang mga pagbag-o nga may kalabutan sa pagwagtang sa mga seryoso nga mga sayup ug mga kahuyangan ang gihimo).
Panguna nga mga pagbag-o:
- Kung ang usa ka proseso sa mamumuo nahutdan sa mga libre nga koneksyon, ang nginx karon nagsira dili lamang sa mga keepalive nga koneksyon, apan usab sa mga koneksyon nga naghulat sa socket nga magsira ("nagpabilin nga duol").
- Ang code sa pagproseso sa koneksyon sa HTTP/2 duol sa pagpatuman sa HTTP/1.x. Ang suporta alang sa indibidwal nga mga setting nga "http2_recv_timeout", "http2_idle_timeout" ug "http2_max_requests" gihunong pabor sa kinatibuk-ang mga direktiba nga "keepalive_timeout" ug "keepalive_requests".
- Ang mga setting nga "http2_max_field_size" ug "http2_max_header_size" gitangtang na ug ang "large_client_header_buffers" kinahanglan gamiton hinuon.
Sa samang higayon, ang njs 0.5.1, usa ka JavaScript interpreter para sa web server nginx. Ang njs interpreter nag-implementar sa mga sumbanan sa ECMAScript ug nagtugot kanimo sa pagpalapad sa mga kapabilidad sa pagproseso sa hangyo sa nginx gamit ang mga configuration script. Ang mga script mahimong gamiton sa configuration file aron pagtino sa advanced request processing logic, pagmugna og mga configuration, dinamikong pagmugna og mga tubag, pag-usab sa mga hangyo/tubag, o dali nga paghimo og mga stub aron masulbad ang mga isyu sa mga web application.
Ang bag-ong bersyon nagdugang sa "js_header_filter" nga direktiba, nga nagtugot kanimo sa pagtakda sa JavaScript function alang sa pagsala ug pag-usab sa arbitraryong tubag nga mga ulohan: js_import foo.js; lokasyon / {js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js: function filter(r) {var cookies = r.headersOut ['Set-Cookie']; var len = r.args.len ? Numero(r.args.len): 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>v.length > len); } export default {filter};
Gidugang usab ang ngx.fetch() nga pamaagi, nga nag-implementar sa Fetch API, nga naghatag ug HTTP client functionality. Ang pamaagi nagsuporta sa pagproseso sa lawas, mga ulohan, buffer_size ug max_response_body_size nga mga kapilian. Ang gibalik nga Response object nagsuporta sa arrayBuffer(), bodyUsed, json(), header, ok, redirect, status, statusText, text(), type ug url nga mga pamaagi, ug ang Header object nagsuporta get(), getAll() ug has() mga pamaagi. function fetch(r) {ngx.fetch('http://nginx.org/') .then(reply => reply.text()) .then(body => r.return(200, body)) .catch (e => r.return(501, e.message)); }
Mahimo usab nimo nga markahan ang publikasyon server Ang NGINX Unit 1.22, usa ka solusyon para sa pagpadagan sa mga web application nga gisulat sa lain-laing mga programming languages (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, ug Java). Ang NGINX Unit mahimong dungan nga modagan sa daghang mga aplikasyon nga gisulat sa lain-laing mga pinulongan, ug ang ilang mga launch parameter mahimong mausab nga dinamiko nga dili kinahanglan nga i-edit ang mga configuration file o i-restart. Ang code gisulat sa C ug lisensyado ubos sa Apache 2.0 license.
Ang bag-ong pagpagawas sa NGINX Unit naka-focus sa pagpalambo sa kalig-on, pagpalapad sa mga kapabilidad sa pagsulay, ug pag-ayo sa mga bug. Linux Ang tiggamit ug grupo diin ang NGINX Unit modagan sa mga pakete giusab na. Imbis nga nobody:nobody, ang mga proseso karon modagan ubos sa usa ka lahi nga tiggamit nga ginganlan og unit sa unit group. Naseguro ang pagkaangay sa Stream API para sa ServerRequest ug ServerResponse objects gikan sa Node.js module. Daghang mga direktoryo ang mahimo na karon nga ipiho sa opsyon nga "path" para sa mga aplikasyon sa Python.
Source: opennet.ru
