Нашри nginx 1.19.7, njs 0.5.1 ва NGINX Unit 1.22.0

Филиали асосии nginx 1.19.7 бароварда шуд, ки дар доираи он таҳияи хусусиятҳои нав идома дорад (дар филиали устувори параллелӣ дастгирӣшаванда 1.18, танҳо тағиротҳои марбут ба рафъи хатогиҳо ва осебпазирии ҷиддӣ ворид карда мешаванд).

Тағйироти асосӣ:

  • Вақте ки раванди корӣ аз пайвастҳои ройгон тамом мешавад, nginx акнун на танҳо пайвастагиҳои нигоҳдорӣ, балки инчунин пайвастҳоеро, ки интизори баста шудани розетка мебошанд ("пайвастшави пазмонӣ") мебандад.
  • Рамзи коркарди пайвастшавӣ дар HTTP/2 ба татбиқи HTTP/1.x наздик аст. Дастгирии танзимоти инфиродии "http2_recv_timeout", "http2_idle_timeout" ва "http2_max_requests" ба манфиати дастурҳои умумии "keepalive_timeout" ва "keepalive_requests" қатъ карда шуд.
  • Танзимоти "http2_max_field_size" ва "http2_max_header_size" хориҷ карда шудаанд ва ба ҷои "large_client_header_buffers" бояд истифода шаванд.

Ҳамзамон, njs 0.5.1, тарҷумони JavaScript барои веб-сервери nginx бароварда шуд. Тарҷумаи njs стандартҳои ECMAScript-ро амалӣ мекунад ва ба шумо имкон медиҳад, ки қобилияти nginx-ро барои коркарди дархостҳо бо истифода аз скриптҳои конфигуратсия васеъ кунед. Скриптҳоро дар файли конфигуратсия барои муайян кардани мантиқи пешрафта барои коркарди дархостҳо, тавлиди конфигуратсия, ба таври динамикӣ тавлид кардани посух, тағир додани дархост/ҷавоб ё зуд эҷод кардани нотаҳо барои ҳалли мушкилот дар замимаҳои веб истифода бурдан мумкин аст.

Версияи нав дастури "js_header_filter" -ро илова мекунад, ки ба шумо имкон медиҳад, ки функсияи JavaScript-ро барои филтр ва тағир додани сарлавҳаҳои посухи ихтиёрӣ таъин кунед: 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['Set-Cookie'] = cookies.filter(v=>v.length > len); } содироти пешфарз {филтр};

Инчунин усули ngx.fetch() илова карда шудааст, ки API Fetch-ро амалӣ мекунад, ки функсияи мизоҷи HTTP-ро таъмин мекунад. Ин усул коркарди параметрҳои бадан, сарлавҳаҳо, buffer_size ва max_response_body_size -ро дастгирӣ мекунад. Объекти посухи баргардонидашуда arrayBuffer(), bodyUsed, json(), сарлавҳаҳо, ok, redirect, status, statusText, text(), type ва url усулҳоро дастгирӣ мекунад ва объекти Header get(), getAll() ва has() -ро дастгирӣ мекунад. усулхо. Функсияи fetch(r) { ngx.fetch('http://nginx.org/') .пас(ҷавоб => reply.text()) .пас(бадан => r.return(200, бадан)) .catch (д => r.return (501, д. паём)); }

Шумо инчунин метавонед интишори сервери замимаи NGINX Unit 1.22-ро қайд кунед, ки барои кор кардани барномаҳои веб бо забонҳои гуногуни барномасозӣ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ва Java) пешниҳод мекунад. Воҳиди NGINX метавонад ҳамзамон якчанд замимаро бо забонҳои гуногуни барномасозӣ иҷро кунад, ки параметрҳои оғозёбии онҳоро бидуни таҳрири файлҳои конфигуратсия ва бозоғозӣ ба таври динамикӣ тағир додан мумкин аст. Рамз дар C навишта шудааст ва таҳти иҷозатномаи Apache 2.0 паҳн карда мешавад.

Нашри нави NGINX Unit ба беҳтар кардани субот, васеъ кардани абзорҳои санҷиш ва ислоҳи хатогиҳо нигаронида шудааст. Дар бастаҳое, ки барои Linux тавлид шудаанд, корбар ва гурӯҳе, ки дар зери он NGINX Unit кор мекунад, иваз карда шудаанд. Ба ҷои ҳеҷ кас: ҳеҷ кас, равандҳо ҳоло дар зери воҳиди корбари инфиродӣ дар воҳиди гурӯҳ кор мекунанд. Мутобиқати таъминшуда бо Stream API-и объектҳои ServerRequest ва ServerResponse аз модули Node.js. Опсияи "роҳ" барои замимаҳои Python имкон медиҳад, ки директорияҳои сершумор муайян карда шаванд.

Манбаъ: opennet.ru

Илова Эзоҳ