Tuuina atu o le nginx 1.19.7, njs 0.5.1 ma NGINX Unit 1.22.0

O le lala autu o le nginx 1.19.7 ua faʻasaʻolotoina, i totonu o loʻo faʻaauau ai le atinaʻeina o foliga fou (i le parallel stable lala 1.18, naʻo suiga e fesoʻotaʻi ma le faʻaumatiaina o mea sese matuia ma faʻafitauli e faia).

Suiga autu:

  • A leai se fesoʻotaʻiga a le tagata faigaluega, o le nginx ua tapunia nei e le gata o fesoʻotaʻiga olaola, ae faʻapea foʻi fesoʻotaʻiga o loʻo faʻatali mo le socket e tapuni ("lagiing close").
  • O le faʻasologa o fesoʻotaʻiga code i HTTP / 2 e latalata i le HTTP / 1.x faʻatinoga. Lagolago mo tulaga ta'ito'atasi "http2_recv_timeout", "http2_idle_timeout" ma le "http2_max_requests" ua le toe fa'aauauina ona o le fa'atonuga lautele "keepalive_timeout" ma le "keepalive_requests".
  • O fa'atulagaga "http2_max_field_size" ma le "http2_max_header_size" ua aveese ma "large_client_header_buffers" e tatau ona fa'aoga.

I le taimi lava e tasi, na tatalaina ai le njs 0.5.1, o se faʻaliliuga JavaScript mo le server web nginx. O le fa'aliliuga njs e fa'atino tulaga fa'ata'atia a le ECMAScript ma fa'atagaina oe e fa'alautele le agava'a o le nginx e fa'agasolo ai talosaga e fa'aaoga ai tusitusiga i le fa'atulagaga. E mafai ona faʻaogaina tusitusiga i se faila faʻapipiʻi e faʻamalamalama ai le faʻaogaina o le faʻaogaina o talosaga, faʻatupuina o se faʻatulagaga, faʻamalosia le faʻatupuina o se tali, faʻaleleia se talosaga / tali, poʻo le vave faia o stubs e foia ai faʻafitauli i luga o upega tafaʻilagi.

O le lomiga fou o loʻo faʻaopoopoina le "js_header_filter" faʻatonuga, lea e mafai ai ona e setiina se galuega JavaScript mo le faʻamamaina ma le suia o ulutala tali faʻapitoa: js_import foo.js; nofoaga / { js_header_filter foo.filter; sui_pasi http://127.0.0.1:8081/; } foo.js: faamama galuega(r) {var kuki = r.headersOut['Set-Kuki']; var len = r.args.len ? Numera(r.args.len): 0; r.headersOut['Set-Kuki'] = kuki.filter(v=>v.umi > len); } auina atu i fafo {filter};

Fa'aopoopoina fo'i le ngx.fetch() method, lea e fa'atino ai le Fetch API, lea e tu'uina atu ai le fa'atinoga o tagata o tausia HTTP. O le metotia e lagolagoina ai le faʻaogaina o le tino, ulutala, buffer_size ma max_response_body_size filifiliga. O le mea na toe tali atu e lagolagoina arrayBuffer(), bodyUsed, json(), headers, ok, redirect, status, statusText, text(), type and url method, ma le Header object support get(), getAll() and has() auala . galuega fetch(r) {ngx.fetch('http://nginx.org/') .then(reply => reply.text()) .then(body => r.return(200, body)) .catch (e => r.return(501, e.message)); }

E mafai foi ona e maitauina le lolomiina o le NGINX Unit 1.22 application server, lea e ofoina atu se fofo mo le faʻaogaina o upega tafaʻilagi i gagana eseese polokalame (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ma Java). E mafai e le NGINX Unit ona faʻatautaia le tele o talosaga i gagana eseese polokalame, o le faʻalauiloaina o mea e mafai ona suia malosi e aunoa ma le manaʻomia e faʻasaʻo faila faila ma toe amata. O le code e tusia i le C ma tufatufaina i lalo ole Apache 2.0 laisene.

O le faʻasalalauga fou o le NGINX Unit na taulaʻi i le faʻaleleia atili o le mautu, faʻalauteleina meafaigaluega faʻataʻitaʻi, ma faʻapipiʻi pusa. I totonu o afifi na faia mo Linux, o le tagata faʻaoga ma le vaega o loʻo faʻaogaina ai le NGINX Unit ua suia. Nai lo le leai o se tasi: leai se tasi, o loʻo faʻagasolo nei faiga i lalo o le tagata faʻaoga taʻitasi i le vaega iunite. Faʻamautinoa le fetaui ma le Stream API o le ServerRequest ma ServerResponse mea mai le Node.js module. O le filifiliga "ala" mo talosaga Python e mafai ai ona faʻamaonia le tele o faʻamaumauga.

puna: opennet.ru

Faaopoopo i ai se faamatalaga