የ nginx 1.19.7፣ njs 0.5.1 እና NGINX ክፍል 1.22.0 መልቀቅ

የ nginx 1.19.7 ዋና ቅርንጫፍ መለቀቅ ተፈጥሯል, በውስጡም የአዳዲስ ባህሪያት እድገት ይቀጥላል (ከባድ ስህተቶችን እና ድክመቶችን ከማስወገድ ጋር የተያያዙ ለውጦች በትይዩ የሚደገፈው የተረጋጋ ቅርንጫፍ 1.18 ብቻ ነው).

ዋና ለውጦች፡-

  • የሰራተኛ ሂደት ከነጻ ግንኙነቶች ሲያልቅ፣ nginx አሁን የሚዘጋው የቀጥታ ግንኙነቶችን ብቻ ሳይሆን ሶኬቱ እስኪዘጋ ድረስ የሚጠብቁ ግንኙነቶችን ጭምር ነው ("የሚዘገይ ቅርብ")።
  • በ HTTP/2 ውስጥ ያለው የግንኙነት ሂደት ኮድ ከ HTTP/1.x ትግበራ ጋር ቅርብ ነው። ለግል ቅንጅቶች "http2_recv_timeout", "http2_idle_timeout" እና "http2_max_requests" አጠቃላይ መመሪያዎችን "Kepalive_timeout" እና "keepalive_requests" እንዲቋረጥ ተደርጓል።
  • ቅንጅቶቹ "http2_max_field_size" እና "http2_max_header_size" ተወግደዋል እና በምትኩ "ትልቅ_client_header_buffers" ስራ ላይ መዋል አለባቸው።

በተመሳሳይ ጊዜ, njs 0.5.1 ተለቀቀ, ለ nginx ድር አገልጋይ ጃቫ ስክሪፕት አስተርጓሚ. የ njs አስተርጓሚው የ ECMAScript ደረጃዎችን ይተገብራል እና የ nginxን ጥያቄዎችን በማዋቀር ውስጥ ስክሪፕቶችን በመጠቀም የማስኬድ ችሎታን እንዲያሰፋ ይፈቅድልዎታል። ስክሪፕቶች ጥያቄዎችን ለማስኬድ፣ ውቅረት ለማመንጨት፣ በተለዋዋጭ ምላሽ ለመስጠት፣ ጥያቄ/ምላሽ ለማሻሻል፣ ወይም በድር መተግበሪያዎች ውስጥ ያሉ ችግሮችን ለመፍታት ፈጣን አመክንዮዎችን ለመግለጽ በማዋቀር ፋይል ውስጥ መጠቀም ይቻላል።

አዲሱ እትም የ"js_header_filter" መመሪያን ይጨምራል፣ ይህም የጃቫ ስክሪፕት ተግባርን ለማጣራት እና የዘፈቀደ ምላሽ ራስጌዎችን ለመቀየር ያስችላል፡ js_import foo.js; አካባቢ / {js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js፡ የተግባር ማጣሪያ(r) {var cookies = r.headersOut['Set-Cookie']; var len = r.args.len? ቁጥር(r.args.len): 0; r.headersOut ['Cookie አዘጋጅ'] = cookies.filter (v=> v.length> ሌንስ); } ነባሪ ወደ ውጪ መላክ {filter};

እንዲሁም የኤችቲቲፒ ደንበኛ ተግባርን የሚያቀርበውን የ Fetch APIን የሚተገበረው የngx.fetch() ዘዴ ታክሏል። ዘዴው የአካል፣ ራስጌዎች፣ የ buffer_size እና max_response_body_size አማራጮችን ይደግፋል። የተመለሰው የምላሽ ነገር arrayBuffer () bodyUsed፣ json()፣ ራስጌዎች፣ ok፣ redirect፣ status፣ statusText፣ text()፣ አይነት እና ዩአርኤል ዘዴዎችን ይደግፋል፣ እና የራስጌው ነገር ማግኘትን ይደግፋል፣ getAll() እና ያለው() ዘዴዎች . ተግባር ፈልጎ (r) {ngx.fetch('http://nginx.org/') (ሠ => r.መመለሻ(200፣ e.መልዕክት)); }

እንዲሁም የድር መተግበሪያዎችን በተለያዩ የፕሮግራም አወጣጥ ቋንቋዎች (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js እና Java) ለማሄድ መፍትሄ የሚሰጠውን የNGINX Unit 1.22 አፕሊኬሽን ሰርቨር መታተምም ይችላሉ። NGINX ዩኒት በተለያዩ የፕሮግራም አወጣጥ ቋንቋዎች ብዙ አፕሊኬሽኖችን በአንድ ጊዜ ማስኬድ ይችላል ፣የማስጀመሪያ ግቤቶች የማዋቀር ፋይሎችን ማርትዕ እና እንደገና መጀመር ሳያስፈልግ በተለዋዋጭ ሊለወጡ ይችላሉ። ኮዱ በC ተጽፎ በApache 2.0 ፍቃድ ስር ተሰራጭቷል።

አዲሱ የ NGINX ዩኒት መለቀቅ መረጋጋትን ማሻሻል፣ የሙከራ መሳሪያዎችን በማስፋፋት እና ሳንካዎችን በማስተካከል ላይ ያተኮረ ነበር። ለሊኑክስ በተፈጠሩት ጥቅሎች ውስጥ NGINX ዩኒት የሚሰራባቸው ተጠቃሚ እና ቡድን ተቀይረዋል። ከማንም: ከማንም ይልቅ፣ ሂደቶች አሁን በዩኒት ቡድኑ ውስጥ ባለው ግለሰብ ተጠቃሚ ክፍል ስር ይሰራሉ። ከServerRequest እና የአገልጋይ ምላሽ ነገሮች ከNode.js ሞጁል ጋር የተረጋገጠ ተኳሃኝነት። ለፓይዘን አፕሊኬሽኖች የ"ዱካ" አማራጭ ብዙ ማውጫዎችን እንዲገለጽ ይፈቅዳል።

ምንጭ: opennet.ru

አስተያየት ያክሉ